计算机网络
There is no cloud. It’s just another computer.
OSI 模型
OSI 模型是一种理论模型,将计算机网络通信协议分为 7 层。这些层从上到下依次为:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。
- 应用层:提供用户接口,为应用程序提供网络服务。
- 表示层:负责数据格式的转换。
- 会话层:管理数据交换会话。
- 传输层:提供可靠的数据传输,包括 TCP 和 UDP。
- 网络层:负责数据包的路由和转发,包括 IP 和 ICMP。
- 数据链路层:负责将数据包从一个节点传输到另一个节点,包括 ARP 和 RARP。
- 物理层:负责数据的物理传输。
注意,OSI 模型是一种理论模型,实际应用中使用的是 TCP/IP 模型。TCP/IP 协议族包括以下四个层次:
- 应用层:HTTP、FTP、Telnet、SMTP
- 传输层:TCP、UDP
- 网络层:IP、ICMP
- 数据链路层:ARP
HTTP
HTTP 是应用层协议。
注意,HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对 get 请求参数的限制是来源与浏览器或 web 服务器,浏览器或 web 服务器限制了 url 的长度。为了明确这个概念,我们必须再次强调下面几点:
- HTTP 协议 未规定 GET 和 POST 的长度限制
- HGET 的最大长度显示是因为 浏览器和 web 服务器限制了 URI 的长度
- H 不同的浏览器和 WEB 服务器,限制的最大长度不一样
- 要支持 IE,则最大长度为 2083byte,若只支持 Chrome,则最大长度 8182byte
HTTPS
HTTPS 是 HTTP 协议的安全版本 。通过 SSL/TLS 加密,保证数据传输的安全性和完整性。HTTPS 使用 443 端口进行通信。
- HTTP 协议中 GET 和 POST 请求的长度限制是由浏览器或 web 服务器限制的,而非协议本身限制。
- 常见的 HTTP 状态码中,1xx 表示信息,301 表示临时重定向,304 表示永久重定向,4xx 表示客户端错误,5xx 表示服务器错误。
- HTTPS 是 HTTP 协议的安全版本,使用 SSL/TLS 加密保证数据传输的安全性和完整性,使用 443 端口进行通信。
状态码
熟练掌握常见状态码含义有助于我们快速定位问题所在。
- 1xx:表示信息,服务器收到请求,需要请求者继续执行操作
- 2xx: 请求成功
- 301: 临时重定向,表示资源已被分配了新的 URI,希望用户(本次)能使用新的 URI 访问
- 304: 永久重定向,表示资源已经被永久转移到其他 URL,以后应使用资源现在所指的 URL
- 4xx:表示客户端错误,客户端请求出错,比如请求不存在的资源等
- 401: 未授权访问
- 5xx:表示服务器错误,服务器端处理请求出错
TCP
谈到 TCP 就不得不提起经典的三次握手和四次挥手。
TCP 的连接建立和断开过程通常被称为"三次握手"和"四次挥手"。