🌐 HTTP 报文格式 - 动态图解

点击任意部分查看详细说明

📤HTTP Request 请求报文
① 起始行 / Request Line
GET /index.html HTTP/1.1
Method请求方法:GET/POST/PUT/DELETE...
URL请求的资源路径
VersionHTTP协议版本:1.1 或 2.0
② 请求头 / Headers
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
Content-Type: application/json
Host目标服务器地址(必填)
User-Agent客户端标识
Accept可接受的响应类型
Content-Type请求体数据类型
↵ CRLF 空行 (分隔符) ↵
③ 请求体 / Body (可选)
{"username": "admin", "password": "***"}
POST/PUT通常包含请求数据
GET/DELETE通常为空
📥HTTP Response 响应报文
① 状态行 / Status Line
HTTP/1.1 200 OK
VersionHTTP协议版本
200状态码(见下方)
OK状态描述
② 响应头 / Headers
Content-Type: text/html; charset=utf-8
Content-Length: 2048
Server: nginx/1.20.1
Cache-Control: max-age=3600
Content-Type响应数据类型
Content-Length响应体长度
Server服务器信息
Cache-Control缓存策略
↵ CRLF 空行 (分隔符) ↵
③ 响应体 / Body
<html><body>Hello World!</body></html>
HTML网页内容
JSONAPI响应数据
图片/文件二进制数据
起始行/状态行
Header 头信息
响应状态行
Body 内容体

📦 TCP/IP 四层模型中的 HTTP

应用层
HTTP
HTTP数据
传输层
TCP
HTTP + 端口
网络层
IP
+ IP地址

🔄 数据封装过程

应用层:HTTP 数据
↓ + TCP头
传输层:TCP segment
↓ + IP头
网络层:IP packet
↓ + Frame头/尾

常见状态码速查

1xx
信息响应
100 Continue
2xx
成功
200 OK / 201 Created
3xx
重定向
301/302 重定向 / 304 缓存
4xx
客户端错误
400 错误请求 / 401 未授权 / 404 未找到
5xx
服务器错误
500 服务器错误 / 502 网关错误

💡 提示:点击报文各部分可展开查看详细说明 | 页面加载时有入场动画