上一篇
HTTP消息
- 行业动态
- 2025-04-29
- 4772
HTTP消息分请求与响应,含方法/URL、状态码、头字段及主体,用于客户端与
HTTP消息
HTTP消息是客户端与服务器之间通信的数据载体,分为请求消息(客户端发送)和响应消息(服务器返回),两者均遵循类似的格式,但内容和用途不同。
HTTP请求消息结构
部分 | 内容说明 |
---|---|
起始行 | 方法 路径 协议版本 (如:GET /index.html HTTP/1.1 ) |
请求头 | 键值对形式,包含Host 、User-Agent 、Content-Type 等 |
空行 | 分隔头部和消息主体(按标准需换行) |
消息主体 | 可选部分,如POST提交的表单数据或文件内容(GET请求通常无主体) |
HTTP响应消息结构
部分 | 内容说明 |
---|---|
起始行 | 协议版本 状态码 原因短语 (如:HTTP/1.1 200 OK ) |
响应头 | 键值对形式,包含Content-Type 、Content-Length 、Set-Cookie 等 |
空行 | 分隔头部和消息主体(按标准需换行) |
消息主体 | 返回给客户端的内容(如HTML页面、JSON数据等) |
请求与响应对比示例
请求示例(GET)
GET /images/logo.png HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: image/png
响应示例(200 OK)
HTTP/1.1 200 OK Date: Wed, 18 Oct 2023 08:30:00 GMT Server: Apache/2.4.52 Content-Type: image/png Content-Length: 12345 Connection: keep-alive [二进制图像数据]
特性 | 请求消息 | 响应消息 |
---|---|---|
方法+路径+版本 | 版本+状态码+短语 | |
常见头部字段 | Host 、Referer 、Cookie | Content-Type 、Set-Cookie |
是否有消息主体 | 仅POST/PUT等方法有 | 取决于返回内容(如HTML、JSON) |
常见问题与解答
问题1:HTTP请求中的Content-Type
和响应中的Content-Type
作用是什么?
解答:
- 请求头
Content-Type
:告知服务器客户端发送的主体数据格式(如application/json
、multipart/form-data
)。 - 响应头
Content-Type
:告知客户端服务器返回的数据格式(如text/html
、application/pdf
),帮助客户端正确解析内容。
问题2:状态码301
和302
有什么区别?
解答:
- 301 Moved Permanently:表示资源永久迁移到新URL,客户端(如浏览器)会更新缓存,后续直接访问新地址。
- 302 Found:表示临时重定向,客户端仍使用原URL,仅本次请求跳转到新地址。
示例:网站更换域名时用301,而未登录用户访问需跳转到登录页时用3