请画出 HTTP 协议的请求报文和响应报文的通用格式。
时间: 2024-09-30 19:02:49 浏览: 23
HTTP(Hypertext Transfer Protocol)协议通常用于客户端(如浏览器)向服务器发送请求和接收回应数据。请求报文和响应报文都有固定的结构。
**请求报文 (Request)**:
通用格式如下:
```http
GET /path/to/resource?query parameters HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Accept-Language: en-US,en;q=0.5
Connection: close
Authorization: Bearer your_token (如果需要身份验证)
-- body (如果资源支持POST、PUT等非GET请求) --
```
关键部分解释:
- `METHOD`: 请求类型(例如 GET、POST、PUT 等)
- `/path/to/resource`: 请求的URL路径
- `QUERY PARAMETERS`: URL后的查询字符串
- `HEADER` 部分包含诸如用户代理、语言偏好、认证信息等
- `- body -`: 对于 POST 或 PUT 等请求,这里包含实际的数据
**响应报文 (Response)**:
通用格式如下:
```http
HTTP/1.1 200 OK
Date: Sun, 06 Nov 2022 12:00:00 GMT
Server: Apache/2.4.41 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
<!DOCTYPE html>
<html>
... (响应内容)
</html>
```
关键部分包括:
- `STATUS LINE`: 表示状态码和原因短语,如 "200 OK"
- `HEADERS` 包含响应头,如日期、服务器名称、内容类型等
- `- Content -`: 请求的实际数据,可能是HTML、JSON等
阅读全文