响应首部字段:是由服务器端向客户端返回响应报文中所使用的字段, 用于补充响应的附加信息、服务器信息,以及对客户端的附加要求等 信息。
1.Accept-Ranges
图:当不能处理范围请求时,Accept-Ranges: none
Accept-Ranges: bytes
首部字段 Accept-Ranges 是用来告知客户端服务器是否能处理范围请 求,以指定获取服务器端某个部分的资源。
可指定的字段值有两种,可处理范围请求时指定其为 bytes,反之则 指定其为 none。
2.Age
Age: 600
首部字段 Age 能告知客户端,源服务器在多久前创建了响应。字段值 的单位为秒。
若创建该响应的服务器是缓存服务器,Age 值是指缓存后的响应再次 发起认证到认证完成的时间值。代理创建响应时必须加上首部字段 Age。
3.ETag
ETag: "82e22293907ce725faf67773957acd12"
首部字段 ETag 能告知客户端实体标识。它是一种可将资源以字符串 形式做唯一性标识的方式。服务器会为每份资源分配对应的 ETag 值。
另外,当资源更新时,ETag 值也需要更新。生成 ETag 值时,并没有 统一的算法规则,而仅仅是由服务器来分配。
资源被缓存时,就会被分配唯一性标识。例如,当使用中文版的浏览 器访问 http://www.google.com/ 时,就会返回中文版对应的资源,而 使用英文版的浏览器访问时,则会返回英文版对应的资源。两者的 URI 是相同的,所以仅凭 URI 指定缓存的资源是相当困难的。
资源的URI虽然相同,但是中文版和英文版对应的资源是不同的。
若在下 载过程中出现连接中断、再连接的情况,都会依照 ETag 值来指定资 源。
ETag 中有强 ETag 值和弱 ETag 值之分。
强 ETag 值,不论实体发生多么细微的变化都会改变其值。
ETag: "usagi-1234"
弱 ETag 值
弱 ETag 值只用于提示资源是否相同。只有资源发生了根本改变,产 生差异时才会改变 ETag 值。这时,会在字段值最开始处附加 W/。
ETag: W/"usagi-1234"
4.Location
Location: http://www.usagidesign.jp/sample.html
使用首部字段 Location 可以将响应接收方引导至某个与请求 URI 位置 不同的资源。
基本上,该字段会配合 3xx :Redirection 的响应,提供重定向的 URI。
几乎所有的浏览器在接收到包含首部字段 Location 的响应后,都会强 制性地尝试对已提示的重定向资源的访问。
5.Proxy-Authenticate
Proxy-Authenticate: Basic realm="Usagidesign Auth"
首部字段 Proxy-Authenticate 会把由代理服务器所要求的认证信息发送 给客户端。
它与客户端和服务器之间的 HTTP 访问认证的行为相似,不同之处在 于其认证行为是在客户端与代理之间进行的。而客户端与服务器之间 进行认证时,首部字段 WWW-Authorization 有着相同的作用。
6.Retry-After
Retry-After: 120
首部字段 Retry-After 告知客户端应该在多久之后再次发送请求。主要 配合状态码 503 Service Unavailable 响应,或 3xx Redirect 响应一起使 用。
字段值可以指定为具体的日期时间(Wed, 04 Jul 2012 06:34:24 GMT 等格式),也可以是创建响应后的秒数。
7.Server
Server: Apache/2.2.17 (Unix)
首部字段 Server 告知客户端当前服务器上安装的 HTTP 服务器应用程 序的信息。不单单会标出服务器上的软件应用名称,还有可能包括版 本号和安装时启用的可选项。
8.Vary
图:当代理服务器接收到带有 Vary 首部字段指定获取资源的请求 时,如果使用的 Accept-Language 字段的值相同,那么就直接从缓 存返回响应。反之,则需要先从源服务器端获取资源后才能作为响应返回.
Vary: Accept-Language
首部字段 Vary 可对缓存进行控制。源服务器会向代理服务器传达关 于本地缓存使用方法的命令。
从代理服务器接收到源服务器返回包含 Vary 指定项的响应之后,若 再要进行缓存,仅对请求中含有相同 Vary 指定首部字段的请求返回 缓存。即使对相同资源发起请求,但由于 Vary 指定的首部字段不相 同,因此必须要从源服务器重新获取资源。
9.WWW-Authenticate
WWW-Authenticate: Basic realm="Usagidesign Auth"
首部字段 WWW-Authenticate 用于 HTTP 访问认证。它会告知客户端 适用于访问请求 URI 所指定资源的认证方案(Basic 或是 Digest)和 带参数提示的质询(challenge)。状态码 401 Unauthorized 响应中, 肯定带有首部字段 WWW-Authenticate。
上述示例中,realm 字段的字符串是为了辨别请求 URI 指定资源所受 到的保护策略