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