HTTP 请求头是客户端发送到服务器的 HTTP 请求的一部分,它们提供了请求的附加信息,
如客户端的类型、请求的编码方式、客户端的认证信息等。以下是一些常用的 HTTP 请求头:
1. Host: 指定请求的服务器的域名和端口号。
- 示例: `Host: www.example.com`
2. User-Agent: 描述发起请求的用户代理(通常是浏览器)。
- 示例: `User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36`
3. Accept: 指定客户端能够接受的媒体类型。
- 示例: `Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8`
4. Accept-Language: 指定客户端能够接受的语言。
- 示例: `Accept-Language: en-US,en;q=0.5`
5. Accept-Encoding: 指定客户端能够接受的内容编码。
- 示例: `Accept-Encoding: gzip, deflate, br`
6. Content-Type: 指定请求体的媒体类型。
- 示例: `Content-Type: application/x-www-form-urlencoded`
7. Content-Length: 指定请求体的长度。
- 示例: `Content-Length: 123`
8. Authorization: 包含客户端的认证信息,通常用于访问受保护的资源。
- 示例: `Authorization: Basic dXNlcjpwYXNzd29yZA==`
9. Cookie: 包含客户端存储的 Cookie 信息。
- 示例: `Cookie: sessionid=1234567890; user=JohnDoe`
10. If-None-Match: 用于缓存控制,指定 ETag 值,如果资源未改变则返回 304 Not Modified。
- 示例: `If-None-Match: "xyzzy"`
11. Referer: 指定请求的来源页面。
- 示例: `Referer: http://www.example.com/index.html`
12. Connection: 指定连接的类型,常用于持久连接。
- 示例: `Connection: keep-alive`
13. Cache-Control: 指定请求和响应遵循的缓存机制。
- 示例: `Cache-Control: no-cache`
14. Range: 用于请求资源的一部分。
- 示例: `Range: bytes=500-999`
15. Upgrade: 指定客户端希望升级到的协议。
- 示例: `Upgrade: websocket`
16. DNT: 表示用户的隐私偏好,通常用于阻止跟踪。
- 示例: `DNT: 1`
17. X-Requested-With: 通常在 AJAX 请求中使用,表明请求是通过 JavaScript 发起的。
- 示例: `X-Requested-With: XMLHttpRequest`
18. Origin: 指定请求的源,用于跨源资源共享(CORS)。
- 示例: `Origin: http://www.example.com`
19. Access-Control-Request-Method: 在预检请求中指定实际请求的方法。
- 示例: `Access-Control-Request-Method: POST`
20. Access-Control-Request-Headers: 在预检请求中指定实际请求的头部。
- 示例: `Access-Control-Request-Headers: X-Custom-Header`
这些请求头可以根据需要在 HTTP 请求中使用,以提供额外的请求信息或控制请求的行为。