HTTP请求头包含信息

目录

1. 通用(通用头):

2. 请求标识类头部(Request-specific headers):

3. 安全和身份认证类头部(Security and Authentication headers):

4. 请求体相关头部(Request Body Headers):

5. 条件请求头(Conditional Request Headers):

6. 代理相关头部(Proxy Headers):

7. CORS相关头部(Cross-Origin Resource Sharing):

8. 自定义头部(Custom Headers):


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)

这些头部字段与请求的内容(请求体)有关,特别是在POSTPUT请求中。

  • 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: 请求的方法(如GETPOST),用于跨域预检请求。
    • 示例: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Betray391

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值