Cache-Control扩展
cache-extension token
Cache-Control: private, community="UCI"
通过cache-extension标记(token),可以扩展Cache-Control首部字段内多指令。
如上:Cache-Control首部字段本身没有community这个指令。借助extension tokens实现了该指令的添加。如果缓存服务器不能理解community这个新指令,就会直接忽略。因此,extension tokens仅对能理解它的缓存服务器来说是有意义的。
Connection
Connection首部字段具备如下两个作用
- 控制不再转发给代理的首部字段
- 管理持久链接
Connection:close
HTTP/1.1版本的默认链接都是持久连接,当服务端明确想断开连接时,则指定Connection首部字段的值为Close
Connection:Keep-Alive
HTTP/1.1之前的版本默认都是非持久连接,如果旧版本的HTTP协议上维持持续连接,则需要指定Connection首部的值为Keep-Alive.
Date
首部字段Date表明创建HTTP报文的日期和时间。
Date:Tue, 03 Jul 2012 04:40:59 GTM (HTTP/1.1)
Date:Tue, 03-Jul-12 04:40:59 GTM(HTTP/1.1之前)
Date:Tue Jul 03 04:40:59 2012
Pragma
Pragma是HTTP/1.1之前版本的历史遗留字段,仅作为与HTTP/1.0的向后兼容而定义。
Pragma: no-cache
只能在客户端发送的请求中。客户端要求所有的中间服务器不返回缓存的资源
Trailer
首部字段Trailer会事先说明报文主体后记录了那些首部字段。该首部字段可应用在HTTP/1.1版本分块传输编码时。
Transfer-Encoding
规定了传输报文主体时采用的编码方式
Upgrade
用于检测HTTP协议以及其他协议是否可使用更高版本的进行通信。其数值可以用来指定一个完全不同的通信协议
Via
为了追踪客户端与服务器之间的请求和响应报文的传输路径。可避免请求回环发生。
Warning
告知用户一些与缓存相关的问题警告。
waring: [警告码][警告的主机:端口号][“警告内容”](日期时间)
请求首部字段
从客户端往服务器发送请求报文所使用的字段,用于补充请求的附加信息,客户端信息,对响应内容相关的优先等级等内容。
Accept
通知代理能够处理等媒体类型及媒体类型的相对优先级。
若想要给显示的媒体类型增加优先级,则使用q=来额外表示权重值。默认权重为q=1.0, 权重值的范围是0~1(可精度到小数点三位),且1为最大。当服务器提供多种内容时,将会返回权重最高的媒体类型。
Accept-Charset
用来通知服务器用户代理支持的字符集以及字符集的相对优先顺序。也可添加权重
如:Accept-Charset:iso-8859-5, unicode-1-1;q=0.8
Accept-Encodingx
告知服务器代理支持的内容编码以及编码的优先级顺序。
Accept-Language
告知服务器用户代理能够理解的自然语言。以及自然语言的优先级
Authorization
告知服务器,用户代理的认证信息。
Expect
客户端告知服务器期望出现某种特定行为。
From
告知用户服务器使用用户代理的电子邮件地址。
Host
告知服务器,请求的资源所处在互联网主机名和端口号。
If-Match
形如If-xxx这种样式的请求首部字段都可以成为条件请求。服务器接收到附带条件的请求后,只要判断指定条件为真时,才会执行请求。
If-Match属附带条件之一,他会告知服务器匹配资源所标记的实体标记值。这时的服务器无法使用弱Etag值。使用*会忽略ETag
If-Modified-Since
如下图:
If-None-Match
如下图:
If-Range
如下图
不使用If-Range多一次请求