2026/5/14 3:05:56
网站建设
项目流程
江苏省建设厅网站资质升级,湛江招聘网最新招聘,wordpress迁站到阿里云,品牌策划文案HTTP 报文详解
HTTP#xff08;Hypertext Transfer Protocol#xff0c;超文本传输协议#xff09;是 Web 通信的基础协议#xff0c;用于客户端#xff08;如浏览器#xff09;和服务器之间交换数据。HTTP 报文 是 HTTP 协议交互的信息载体#xff0c;分为两种类型Hypertext Transfer Protocol超文本传输协议是 Web 通信的基础协议用于客户端如浏览器和服务器之间交换数据。HTTP 报文是 HTTP 协议交互的信息载体分为两种类型请求报文由客户端发送和响应报文由服务器返回。报文是纯文本格式HTTP/1.1 和早期版本由 ASCII 字符组成便于阅读和调试。HTTP 报文的基本结构相同由三部分组成起始行Start Line描述请求或响应的基本信息。首部字段Headers键值对形式提供元数据如内容类型、长度、缓存等。空行CRLF分隔首部和主体表示首部结束。主体Body可选实际传输的数据如 HTML、JSON、图片等。1. 请求报文Request Message客户端向服务器请求资源时发送。格式方法 请求URL 协议版本 首部字段名: 字段值 ... CRLF // 空行 主体数据 // 可选起始行Request-Line方法Method表示对资源的操作。常见方法方法描述是否有主体GET获取资源最常用无POST提交数据如表单有PUT上传资源替换有DELETE删除资源无HEAD只获取响应头不返回主体无OPTIONS查询支持的方法无TRACE回环测试无PATCH部分更新资源有请求URLRequest-URI资源路径可包含查询参数如/index.html?id1。协议版本通常HTTP/1.1或HTTP/2HTTP/2 使用二进制帧。示例GET 请求无主体GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Accept: text/html,*/* Accept-Encoding: gzip, deflate Connection: keep-alive示例POST 请求有主体POST /login HTTP/1.1 Host: www.example.com Content-Type: application/x-www-form-urlencoded Content-Length: 28 usernameadminpassword1232. 响应报文Response Message服务器处理请求后返回。格式协议版本 状态码 原因短语 首部字段名: 字段值 ... CRLF // 空行 主体数据 // 可选起始行Status-Line协议版本同上。状态码Status Code三位数字表示结果。分类代码范围描述常见示例1xx100-101信息提示100 Continue2xx200-206成功200 OK, 204 No Content3xx300-307重定向301 Moved Permanently, 304 Not Modified4xx400-451客户端错误400 Bad Request, 404 Not Found, 403 Forbidden5xx500-505服务器错误500 Internal Server Error, 503 Service Unavailable原因短语Reason Phrase人类可读描述如 “OK”。示例成功响应HTTP/1.1 200 OK Date: Mon, 06 Jan 2026 12:00:00 GMT Server: Apache/2.4.51 Content-Type: text/html; charsetUTF-8 Content-Length: 1234 Connection: keep-alive htmlbodyHello World!/body/html示例404 错误HTTP/1.1 404 Not Found Content-Type: text/html Content-Length: 256 htmlbodyh1404 Not Found/h1/body/html3. 首部字段Headers首部是键值对提供附加信息。分为通用首部请求和响应均可如 Date、Connection。请求首部如 Host、User-Agent、Accept、Cookie。响应首部如 Server、Location重定向、Set-Cookie。实体首部描述主体如 Content-Type、Content-Length、Content-Encodinggzip。常见首部首部示例值描述Hostwww.example.com主机名虚拟主机必需Content-Typetext/html; charsetutf-8主体类型Content-Length1234主体长度Connectionkeep-alive连接类型长连接Cache-Controlno-cache缓存控制Cookiesessionabc123客户端发送 CookieSet-Cookiesessionabc123; Expires…服务器设置 Cookie4. 注意事项与扩展空行必须有用于分隔首部和主体。没有主体时直接以空行结束。主体传输使用 Content-Length 或 Transfer-Encoding: chunked分块传输。HTTP 版本差异HTTP/1.1 支持长连接keep-aliveHTTP/2 使用二进制帧更高效但语义相同RFC 9110 定义最新语义。工具查看浏览器 DevToolsNetwork 标签、Wireshark、curl、Postman。安全HTTPS 在 TLS 层加密报文。HTTP 报文简单却强大是理解 Web 工作的关键。如果需要特定示例、某个首部的深入解释或 HTTP/2 差异欢迎继续提问