返回

HTTP1.1头部速览——由内容传递伴随的首部导航

前端

HTTP1.1 Headers:信息高速公路上的路标

HTTP,互联网世界的生命线,允许计算机通过数字高速公路相互连接。而 HTTP1.1 Headers 就像道路上的路标,为这些通信提供方向和信息,引导计算机准确无误地到达目的地。

HTTP1.1 Headers:分类指南

HTTP1.1 Headers 可分为两大类:

  • 通用首部: 适用于所有类型的 HTTP 请求和响应。
  • 请求/响应首部: 根据请求或响应的不同而有所区别。

通用首部:传递基本信息

通用首部提供有关报文(HTTP 请求或响应)的通用信息,包括:

  • Date: 报文创建的日期和时间。
  • MIME-Version: 报文发送方遵循的 MIME 版本。
  • Trailer: 如果报文采用分块传输编码,则列出拖挂部分的首部集合。
  • Transfer-Encoding: 指定报文主体的编码方式。
  • Content-Type: 指定报文主体的媒体类型。
  • Content-Length: 指定报文主体的长度。
  • Host: 指定请求的资源位于哪台服务器上。

请求首部:客户端的愿望清单

请求首部由客户端发送,表示客户端的偏好和能力,包括:

  • Accept: 指定客户端可以接受的媒体类型。
  • Accept-Charset: 指定客户端可以接受的字符集。
  • Accept-Encoding: 指定客户端可以接受的编码方式。
  • Accept-Language: 指定客户端可以接受的语言。
  • Authorization: 指定客户端的授权信息。
  • Cache-Control: 指定客户端对缓存的控制指令。
  • Connection: 指定客户端与服务器之间的连接方式。
  • Cookie: 包含客户端发送给服务器的 Cookie 信息。
  • Expect: 指定客户端对服务器的期望。
  • From: 指定请求的发送者。
  • If-Match: 指定客户端希望服务器与请求资源的 Etag 值匹配。
  • If-Modified-Since: 指定客户端希望服务器与请求资源的最后修改时间匹配。
  • If-None-Match: 指定客户端希望服务器与请求资源的 Etag 值不匹配。
  • If-Range: 指定客户端希望服务器与请求资源的部分范围匹配。
  • Max-Forwards: 指定请求可以被转发多少次。
  • Proxy-Authorization: 指定客户端的代理授权信息。
  • Range: 指定客户端希望服务器返回请求资源的某个范围。
  • Referer: 指定请求的来源页面。
  • TE: 指定客户端可以接受的传输编码方式。
  • User-Agent: 指定客户端的浏览器信息。

响应首部:服务器的回复

响应首部由服务器发送,提供有关请求资源的信息,包括:

  • Accept-Ranges: 指定服务器可以接受的字节范围。
  • Age: 指定响应资源在服务器上缓存的时间。
  • Cache-Control: 指定服务器对缓存的控制指令。
  • Connection: 指定服务器与客户端之间的连接方式。
  • Content-Encoding: 指定响应主体使用的编码方式。
  • Content-Language: 指定响应主体的语言。
  • Content-Length: 指定响应主体的长度。
  • Content-Location: 指定响应资源的绝对 URI。
  • Content-MD5: 指定响应主体的 MD5 哈希值。
  • Content-Range: 指定响应主体的字节范围。
  • Date: 指定响应创建的日期和时间。
  • ETag: 指定响应资源的唯一标识符。
  • Expires: 指定响应资源的过期时间。
  • Last-Modified: 指定响应资源的最后修改时间。
  • Location: 指定资源的新位置。
  • Pragma: 指定服务器对缓存的请求指令。
  • Proxy-Authenticate: 指定服务器的代理认证信息。
  • Refresh: 指定客户端应该在指定的时间后重新加载页面。
  • Retry-After: 指定客户端在指定的时间后重试请求。
  • Server: 指定服务器的软件信息。
  • Set-Cookie: 包含服务器发送给客户端的 Cookie 信息。
  • Trailer: 如果报文采用分块传输编码,则列出拖挂部分的首部集合。
  • Vary: 指定响应资源可能根据请求的不同而有所不同。
  • Via: 指定请求或响应经过的代理服务器列表。
  • Warning: 指定服务器发出的警告信息。
  • WWW-Authenticate: 指定服务器的认证信息。

HTTP1.1 Headers 的重要性

HTTP1.1 Headers 在 HTTP 通信中起着至关重要的作用:

  • 它们为客户端和服务器提供了一种共享信息、协商请求和响应的方式。
  • 它们确保通信高效、可靠,并根据特定的需求进行定制。
  • 它们是理解 HTTP 协议的关键,对于 Web 应用程序的开发和故障排除至关重要。

常见问题解答

1. 什么是 Etag?

  • Etag 是一个唯一标识符,用于跟踪资源的修改。

2. 为什么需要 Content-Length 首部?

  • Content-Length 允许客户端和服务器提前了解响应主体的长度,从而优化传输过程。

3. Cache-Control 首部如何运作?

  • Cache-Control 首部允许客户端和服务器指定缓存规则,以提高性能并减少带宽使用。

4. 如何使用 If-Modified-Since 首部?

  • If-Modified-Since 首部允许客户端仅在资源自上次请求以来发生修改时才请求资源。

5. Set-Cookie 首部有什么作用?

  • Set-Cookie 首部允许服务器在客户端的浏览器中设置 Cookie,用于跟踪会话状态和个性化体验。