ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

主流网络互联协议入门:从 HTTP 到 TCP/IP

主流网络互联协议入门:从 HTTP 到 TCP/IP 1. 什么是网络协议网络协议是计算机之间进行通信时必须遵守的规则和约定。它规定了数据如何打包、如何寻址、如何传输、如何校验以及接收方如何解析和响应。可以把网络协议理解为互联网世界的“通用语言”无论设备运行什么操作系统、使用什么厂商的硬件只要遵循相同的协议就能互相通信。在实际网络通信中协议往往不是孤立工作的而是分层协作。每一层只关注自己的职责并向上一层提供稳定的服务。这样设计的好处是某一层的实现可以独立升级而不影响其他层。2. 网络协议分层模型理解网络协议需要先了解两个经典分层模型OSI 七层模型和 TCP/IP 四层模型。虽然 OSI 模型在教学中更细致但真正被互联网广泛采用的是 TCP/IP 模型。2.1 TCP/IP 四层模型应用层直接为应用程序提供服务例如 HTTP、HTTPS、DNS、FTP、WebSocket。传输层负责端到端的通信例如 TCP 和 UDP。网络层互联层负责主机之间的寻址和路由核心协议是 IP。网络接口层负责在物理介质上传输数据例如以太网、Wi-Fi。需要注意的是我们常说的“互联层”严格来说对应网络层核心协议是 IP。而 HTTP 位于应用层它依赖传输层和网络层完成实际的数据传输。下文会从应用层开始逐一介绍主流协议。3. HTTP超文本传输协议HTTPHyperText Transfer Protocol是万维网上应用最广泛的协议用于客户端与服务器之间传输超文本数据。当你在浏览器地址栏输入网址并按下回车时浏览器就会构造一个 HTTP 请求发送给服务器服务器处理后返回 HTTP 响应。3.1 HTTP 请求结构一个典型的 HTTP 请求包含以下部分请求行、请求头和可选的请求体。GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: text/html Accept-Language: zh-CN请求行包含请求方法GET、POST、PUT、DELETE 等、请求路径和协议版本。请求头以键值对形式携带附加信息例如 Host、User-Agent、Content-Type。请求体通常用于 POST、PUT 等请求携带表单数据或 JSON 数据。3.2 HTTP 响应结构服务器处理请求后返回响应包含状态行、响应头和响应体。HTTP/1.1 200 OK Content-Type: text/html; charsetUTF-8 Content-Length: 1234 html headtitleExample/title/head bodyh1Hello, World!/h1/body /html3.3 常见状态码状态码含义说明200OK请求成功正常返回数据。301Moved Permanently资源永久重定向到新地址。302Found资源临时重定向。403Forbidden服务器拒绝请求通常因为权限不足。404Not Found请求的资源不存在。500Internal Server Error服务器内部错误。3.4 HTTP 的特点与版本演进无状态每次请求相互独立服务器不保留客户端状态。会话状态通常通过 Cookie、Session 或 Token 机制维护。HTTP/1.0每次请求都需要新建 TCP 连接效率较低。HTTP/1.1默认支持持久连接Keep-Alive可以在同一连接上复用多个请求。HTTP/2引入多路复用、头部压缩、服务器推送显著提升性能。HTTP/3基于 QUIC 协议改用 UDP 传输进一步降低连接延迟。4. HTTPS加密的 HTTPHTTPSHyperText Transfer Protocol Secure在 HTTP 的基础上引入 TLSTransport Layer Security加密层用于保护数据传输的机密性和完整性。它主要解决 HTTP 明文传输带来的三大风险窃听、篡改和冒充。加密传输通过对称加密保护数据内容第三方即使截获也无法直接读取。身份认证通过数字证书验证服务器身份防止中间人冒充。数据完整性通过消息摘要防止数据在传输过程中被篡改。目前主流网站已全面启用 HTTPS浏览器也会对未加密的 HTTP 站点给出“不安全”提示。5. DNS域名解析协议DNSDomain Name System负责将人类易记的域名转换为机器可识别的 IP 地址。例如你肯定记不住110.242.68.4这个一长串的 IP 地址所以你只输[www.baidu.com](https://www.baidu.com)。DNS 协议的作用就是瞬间帮你把域名翻译成对应的 IP 地址浏览器首先通过 DNS 查询该域名对应的 IP 地址然后再发起 HTTP 请求。DNS 采用分层、分布式的查询结构从根域名服务器、顶级域名服务器到权威域名服务器逐级解析。它可以提供 A 记录IPv4 地址、AAAA 记录IPv6 地址、CNAME 记录别名等多种解析类型。6. 传输层协议TCP 与 UDP6.1 TCP面向连接的可靠传输TCPTransmission Control Protocol是一种面向连接、可靠的字节流传输协议。它通过三次握手建立连接并通过序列号、确认应答、重传机制保证数据不丢失、不重复、不乱序。HTTP/1.1、HTTP/2、FTP 等协议都基于 TCP 传输。TCP 建立连接的三次握手过程如下客户端发送 SYN 报文表示希望建立连接。服务器回复 SYN-ACK 报文表示同意建立连接并确认客户端请求。客户端再发送 ACK 报文连接正式建立。6.2 UDP无连接的轻量传输UDPUser Datagram Protocol是无连接、不可靠但开销更小的传输协议。它不保证数据可靠到达也不保证顺序但传输延迟更低适合实时音视频、在线游戏、DNS 查询等对速度敏感、允许少量丢包的场景。HTTP/3 底层使用的 QUIC 协议也是基于 UDP 实现。7. 网络层协议IPIPInternet Protocol是网络层核心协议负责主机之间的寻址和路由。它为每台联网设备分配逻辑 IP 地址路由器根据 IP 地址将数据包逐跳转发到目标主机。IPv4使用 32 位地址例如192.168.1.1地址空间约 43 亿个。IPv6使用 128 位地址例如2001:0db8:85a3:0000:0000:8a2e:0370:7334从根本上解决了 IPv4 地址枯竭问题。IP 只负责“尽力而为”地把数据包送到目标主机不保证可靠性。可靠性由上层 TCP 协议负责。8. 其他常见应用层协议协议全称用途FTPFile Transfer Protocol文件上传和下载。SMTPSimple Mail Transfer Protocol发送电子邮件。POP3/IMAPPost Office Protocol 3 / Internet Message Access Protocol接收电子邮件。WebSocketWebSocket Protocol浏览器与服务器之间的全双工实时通信。MQTTMessage Queuing Telemetry Transport物联网设备间的轻量级消息传输。
返回列表