📜  HTTP 标头 |功能政策(1)

📅  最后修改于: 2023-12-03 15:15:45.052000             🧑  作者: Mango

HTTP 标头 | 功能政策

简介

HTTP 标头(HTTP Headers)是在 HTTP 请求和响应中承载信息的字段,用来描述报文的内容、行为和其他相关信息。标头由名称和值组成,以键值对的形式出现。

HTTP 标头在客户端和服务器之间起到了非常关键的作用,它们可以用于控制缓存、身份验证、安全性、压缩和内容协商等方面。

常见的 HTTP 请求标头

以下是一些常见的 HTTP 请求标头:

Accept

指定客户端能够处理的响应内容类型。服务器会根据该标头来选择适当的响应类型进行返回。

Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8
Content-Type

指定请求中所发送的实体正文的媒体类型。

Content-Type: application/json
Authorization

使用认证方式提供客户端的凭据,以便验证客户端的身份。

Authorization: Bearer <token>
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.3
Cookie

包含了之前服务器通过 Set-Cookie 标头设置的 cookie 值,用于客户端和服务器之间的状态管理。

Cookie: sessionId=abc123
常见的 HTTP 响应标头

以下是一些常见的 HTTP 响应标头:

Content-Length

指定响应正文的长度(以字节为单位)。

Content-Length: 1024
Content-Encoding

指定响应正文的压缩编码方式,常用于减小传输大小。

Content-Encoding: gzip
Set-Cookie

在响应中设置新的 cookie 或修改已有的 cookie。

Set-Cookie: sessionId=abc123; expires=Sat, 31-Dec-2022 23:59:59 GMT
Cache-Control

通过设置缓存策略来指导客户端缓存响应副本。

Cache-Control: private, max-age=3600
Location

用于将客户端重定向到其他 URL。

Location: https://www.example.com/new-page
其他常用的 HTTP 标头

除了上述的常见标头之外,还有许多其他的 HTTP 标头用于特定的功能、安全性和优化。

  • ETag:用于缓存验证,标识资源内容的唯一标识符。
  • Referer:指示了请求的原始页面 URL。
  • Accept-Language:用于指定客户端接收的首选语言。
  • If-Modified-Since:允许客户端在资源过期前判断是否需要获取更新的版本。
  • X-Forwarded-For:用于反向代理服务器在转发请求时在标头中插入原始客户端 IP 地址。

请注意,不同的 HTTP 版本可能支持不同的标头和语义,因此在使用时需要注意兼容性和规范要求。

总结

HTTP 标头在客户端和服务器之间扮演了重要的角色,用于传递附加的信息、请求和响应控制。在编写程序时,了解常见的标头以及它们的用法,对于构建高性能、安全和兼容的网络应用至关重要。