http
HTTP 速览与核心要点
一、HTTP 缩写与核心作用
• 缩写:HTTP = HyperText Transfer Protocol(超文本传输协议),属于应用层协议,通常运行在TCP之上,用于浏览器与服务器之间的请求/响应通信,默认端口80;安全版本为 HTTPS(HTTP over TLS/SSL),默认端口443。HTTP 设计目标是定义客户端与服务器如何格式化与交换数据,支持传输 HTML、图片、视频、JSON 等多种类型资源,并且协议本身无状态(可通过 Cookie/Session/Token 管理会话)。
二、HTTP 与 TCP/IP 的区别
• 层次定位不同:HTTP 是应用层协议,负责“怎么包装与解释数据”;TCP/IP 是协议族/协议栈,覆盖传输层(如 TCP/UDP)与网络层(如 IP),负责“如何可靠地把数据送达”。HTTP 通常承载在 TCP 之上,由 TCP 提供面向连接、可靠传输、按序到达等能力。
• 职责不同:HTTP 定义方法、首部、状态码、缓存、内容协商等语义;TCP/IP 负责分段/重组、流量控制、拥塞控制、路由寻址、链路访问等底层机制。
• 关系类比:TCP/IP 是道路与车辆的基础设施,HTTP 是车上运送的具体货物与装卸规则;二者协同完成端到端通信。
三、五层模型与七层模型的区别
• 分层对比(概览):
• OSI 七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层(理论化、层次最细)。
• TCP/IP 五层:应用层、传输层、网络层、数据链路层、物理层(贴近互联网工程实践、更简洁)。
• 关键差异:
• 层次合并:TCP/IP 将 OSI 的应用/表示/会话三层合并为应用层;将数据链路/物理两层合并为网络接口层(或链路层)。
• 设计取向:OSI 偏教学/标准化与清晰职责划分;TCP/IP 偏实用/协议驱动,直接映射现实互联网协议栈。
• 协议示例:应用层(HTTP、FTP、SMTP、DNS)、传输层(TCP、UDP)、网络层(IP、ICMP)、数据链路层(以太网、Wi‑Fi)。
四、三次握手与四次挥手(基于 TCP)
• 三次握手(建立连接)
-
客户端发送 SYN(同步序列号);2) 服务器回 SYN‑ACK;3) 客户端回 ACK。完成双方初始序列号同步与连接建立,用于后续可靠传输。
• 四次挥手(优雅关闭) -
主动方发 FIN;2) 被动方回 ACK;3) 被动方发 FIN;4) 主动方回 ACK。因 TCP 全双工,每个方向的关闭需分别确认,确保数据不丢失且链路干净释放。
五、HTTP 请求与响应的结构
• 请求报文(三部分)
• 请求行:方法(如 GET/POST/PUT/DELETE/HEAD/OPTIONS) + URL + HTTP 版本(如 HTTP/1.1)。
• 请求头:如 Host、User-Agent、Accept、Accept‑Encoding、Content‑Length、Cookie 等。
• 空行 + 请求体:GET 通常无体;POST/PUT 等携带表单或 JSON 等数据。
• 响应报文(三部分)
• 状态行:HTTP 版本 + 状态码 + 原因短语(如 200 OK、404 Not Found)。
• 响应头:如 Content‑Type、Content‑Length、Cache‑Control、Set‑Cookie、Server 等。
• 空行 + 响应体:HTML、图片、JSON 等实际资源内容。
六、HTTP 状态码分类与常见码
• 分类
• 1xx 信息:请求已接收,继续处理(如 100 Continue)。
• 2xx 成功:请求被成功接收、理解并处理(如 200 OK、204 No Content、206 Partial Content)。
• 3xx 重定向:需进一步操作完成请求(如 301 Moved Permanently、302 Found、304 Not Modified)。
• 4xx 客户端错误:请求有误或不可满足(如 400 Bad Request、401 Unauthorized、403 Forbidden、404 Not Found、405 Method Not Allowed)。
• 5xx 服务器错误:服务器处理失败(如 500 Internal Server Error、502 Bad Gateway、503 Service Unavailable)。

浙公网安备 33010602011771号