侧边栏壁纸
  • 累计撰写 247 篇文章
  • 累计创建 16 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

HTTP 报文首部字段(三):响应首部篇

kaixindeken
2021-04-23 / 0 评论 / 0 点赞 / 106 阅读 / 1,538 字

1.jpeg

响应首部字段是由服务器端向客户端返回响应报文中所使用的字段,用于补充响应的附加信息、服务器信息、以及对客户端的附加要求等信息。下面我们来简单介绍下每个请求首部字段的用途和注意事项。

Accept-Ranges

该字段用来告知客户端服务器是否能处理范围请求,以指定获取服务器端某个部分的资源。可指定的字段值有两种,可处理范围请求时指定其为 bytes,反之指定其为 none。

Age

该字段用于告知客户端源服务器在多久前创建了响应,字段值的单位为秒。若创建该响应的服务器是缓存服务器,Age 值是指缓存后的响应再次发起认证到认证完成的时间值,代理创建响应时必须加上首部字段 Age。

ETag

该字段用于告知客户端服务器资源的实体标识,它是一种可将资源以字符串做唯一性标识的方式。服务器会为每份资源分配对应的 ETag 值。

另外,当资源更新时,ETag 值也需要更新,生成 ETag 值时,并没有统一的算法规则,而仅仅是由服务器来分配。后续介绍 HTTP 缓存时会详细介绍该字段。

ETag 字段值有强弱之分:

  • 强 ETag 值:不论实体发生多么细微的变化都会改变其值;
  • 弱 ETag 值:只用于提示资源是否相同,只有资源发生了根本变化,产生差异时才会改变 ETag 值,这时,会在字段值开头附加 W/,例如:ETag: W/"usagi-1234"

Location

该字段可以将响应接收方引导至某个与请求 URL 位置不同的资源。通常,该字段会配合 3XX:Redirection 响应,提供重定向的 URL。

几乎所有浏览器在接收到包含首部字段 Location 的响应后,都会强制性地尝试对已提示的重定向资源的访问。

Proxy-Authenticate

该字段会把由代理服务器所要求的认证信息发送给客户端。它与客户端和服务器之间的 HTTP 访问认证的行为相似,不同之处在于其认证行为是在客户端与代理之间进行的,而客户端与服务器之间进行认证时,首部字段 WWW-Authorization 有着相同的作用。

Retry-After

该字段用于告知客户端应该在多久之后再次发送请求,主要配合状态码 503 Service Unavailable 响应,或 3XX Redirect 响应一起使用。字段值可以是具体的日期时间,也就是创建响应后的秒数。

###Server
该字段用于告知客户端当前服务器上安装的 HTTP 服务器应用程序的信息,字段值中不仅会标出 HTTP 服务器软件应用名称,还会包含版本号和安装时启用的可选项:

Server: nginx/1.12.0

要隐藏或修改该字段,需要修改并重新编译相应的 HTTP 服务器软件源码。

Vary

该字段可对缓存进行控制,源服务器会向代理服务器传达关于本地缓存使用方法的命令。从代理服务器接收到源服务器返回包含 Vary 指定项的响应之后,若再要进行缓存,仅对请求中含有相同 Vary 指定首部字段的请求返回缓存。

WWW-Authenticate

该字段用于 HTTP 访问认证,它会告知客户端适用于访问请求 URL 所指定资源的认证方案(Basic 或 Digest)和带参数提示的质询。状态码 401 Unauthorized 响应中,肯定带有首部字段 WWW-Authenticate。

0

评论区