目录
2. 请求标识类头部(Request-specific headers):
3. 安全和身份认证类头部(Security and Authentication headers):
4. 请求体相关头部(Request Body Headers):
5. 条件请求头(Conditional Request Headers):
7. CORS相关头部(Cross-Origin Resource Sharing):
HTTP请求头包含多种信息,它们帮助服务器理解客户端的请求并作出适当的响应。HTTP请求头通常由一系列键值对组成,传递客户端的元数据、浏览器的详细信息、身份验证信息、请求参数等。常见的请求头包括以下几类:
1. 通用(通用头):
这些头部字段适用于所有HTTP请求和响应,它们提供了请求的通用信息。
Host
: 指定请求所访问的主机(包括端口号)。- 示例:
Host: www.example.com
- 示例:
Connection
: 控制连接行为(如是否保持连接)。- 示例:
Connection: keep-alive
- 示例:
Cache-Control
: 控制缓存机制的指令。- 示例:
Cache-Control: no-cache
- 示例:
Upgrade-Insecure-Requests
: 告知服务器客户端希望将HTTP请求升级为HTTPS。- 示例:
Upgrade-Insecure-Requests: 1
- 示例:
2. 请求标识类头部(Request-specific headers):
User-Agent
: 客户端信息(通常是浏览器类型、操作系统等)。- 示例:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
- 示例:
Referer
: 来源页面的URL,指明请求来自哪个页面。- 示例:
Referer: https://www.google.com
- 示例:
Accept
: 客户端接受的MIME类型,用来告诉服务器希望的响应格式。- 示例:
Accept: text/html, application/xhtml+xml
- 示例:
Accept-Language
: 客户端支持的语言。- 示例:
Accept-Language: en-US, en;q=0.9
- 示例:
Accept-Encoding
: 客户端支持的编码格式(如压缩)。- 示例:
Accept-Encoding: gzip, deflate, br
- 示例:
3. 安全和身份认证类头部(Security and Authentication headers):
Authorization
: 用于提供身份验证信息,如Basic Auth或Bearer Token。- 示例:
Authorization: Bearer eyJhbGciOiJIUzI1...
- 示例:
Cookie
: 传递客户端存储的Cookie。- 示例:
Cookie: sessionId=abc123
- 示例:
Origin
: 请求的源地址,通常用于跨域资源共享(CORS)请求。- 示例:
Origin: https://www.example.com
- 示例:
4. 请求体相关头部(Request Body Headers):
这些头部字段与请求的内容(请求体)有关,特别是在POST
或PUT
请求中。
Content-Type
: 请求体的MIME类型,告知服务器发送的数据格式。- 示例:
Content-Type: application/json
- 示例:
Content-Length
: 请求体的字节数,用于指明请求体的长度。- 示例:
Content-Length: 348
- 示例:
Content-Encoding
: 请求体的编码方式,通常用于压缩的请求体。- 示例:
Content-Encoding: gzip
- 示例:
Transfer-Encoding
: 控制分块传输的数据。- 示例:
Transfer-Encoding: chunked
- 示例:
5. 条件请求头(Conditional Request Headers):
这些头部用于实现条件请求,比如只有在特定条件满足时才响应。
If-Modified-Since
: 如果自指定日期之后资源没有修改,服务器可以返回304状态码而不是完整的资源。- 示例:
If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
- 示例:
If-None-Match
: 请求标识资源的特定版本(通过ETag),如果版本没有变化,可以返回304状态码。- 示例:
If-None-Match: "abc123"
- 示例:
6. 代理相关头部(Proxy Headers):
这些头部用于客户端通过代理服务器发出请求的场景。
X-Forwarded-For
: 客户端的真实IP地址,通常在通过代理时使用。- 示例:
X-Forwarded-For: 203.0.113.195
- 示例:
Via
: 显示经过的代理或网关服务器的详细信息。- 示例:
Via: 1.1 proxy.example.com
- 示例:
7. CORS相关头部(Cross-Origin Resource Sharing):
这些头部字段用于处理跨域请求(CORS)。
Access-Control-Request-Method
: 请求的方法(如GET
或POST
),用于跨域预检请求。- 示例:
Access-Control-Request-Method: POST
- 示例:
Access-Control-Request-Headers
: 列出客户端请求的自定义头部字段。- 示例:
Access-Control-Request-Headers: X-Custom-Header
- 示例:
8. 自定义头部(Custom Headers):
开发者可以在HTTP请求中添加自定义头部,以传递额外信息。自定义头部字段通常以X-
开头,但也可以用其他命名方式。
- 示例:
X-Request-ID: 12345