您的位置:首页 > 理论基础 > 计算机网络

HTTP详解--通用首部字段解析(九)

2017-07-22 08:03 155 查看
通用首部字段
是指请求报文和响应报文双方都会使用的首部。

Cache-Control

作用:用来操作缓存的工作机制;



指令的参数是可选的,多个指令之间通过","分隔。首部字段Cache-Control的指令可用于请求及响应时;



指令一览
缓存请求指令

指令

参数

说明

no-cache



强制向源服务器再次验证

no-store



不缓存请求或响应的任何内容

max-age=[秒]

必需

响应的最大Age值

max-stale(=[秒])

可省略

接收已过期的响应

min-fresh=[秒]

必需

期望在指定时间内的响应仍有效

no-reansform



代理不可更改媒体类型

only-if-cached



从缓存获取资源

cache-extension

-

新指令标记(token)

缓存响应指令

指令

参数

说明

public



可向任意方向提供响应的缓存

private

可省略

仅向特定用户返回响应

no-cache

可省略

缓存前必须先确认其有效性

no-store



不缓存请求或响应的任何内容

no-transform



代理不可更改媒体类型

must-revalidate



可缓存但必须再向源服务器进行确认

proxy-revalidate



要求中间缓存服务器对缓存的响应有效性再进行确认

max-age=[秒]

必需

响应的最大Age值

s-maxage=[秒]

必需

公共缓存服务器响应的最大Age值

cache-extension

-

新指令标记(token)

public指令

Cache-Control:public

该指令明确表明其他用户也可利用缓存

private指令



Cache-Control:private

该指令使响应只以特定的用户作为对象,这与public相反

缓存服务器会对该特定用户提供资源缓存的服务,对于其他用户发送过来的请求,代理服务器则不会返回缓存

no-cache指令



Cache-Control:no-cache

使用该指令的目的是为了防止缓存种返回过期的资源;

如果是客户端发送的请求包含no-che指令,那么客户端不会接收缓存过的响应。缓存服务器必须把客户端请求转发给源服务器;

如果是服务器返回的响应种包含no-cache指令,那么缓存服务器不能对资源进行缓存。源服务器以后也将不再对缓存服务器请求中提出的资源有效性进行确认,且禁止其对响应资源进行缓存操作;

  

Cache-Control:no-cache=Location

只能在响应中指定该参数。客户端在接收到此参数对应的响应报文后,就不能使用缓存;

no-store指令

Cache-Control:no-store

该指令暗示请求(和对应的响应)或响应中包含机密信息。该指令规定缓存不能在本地存储请求或响应的任一部分

s-maxage指令

Cache-Control:s-maxage=604800(单位:秒)

只适用于供多位用户使用的公共缓存服务器。对于同一用户重复返回响应的服务器,该命令无效

使用该命令后,会忽略Expires首部字段及max-age指令的处理

max-age指令



Cache-Control:max-age=604800(单位:秒)

客户端:在请求中包含该指令,会判定缓存资源的缓存时间,如果比该属性的值小,客户端就会接收缓存资源;当数值为0,缓存服务器需要将请求转发给源服务器;

服务器:响应中包含该指令的话,缓存服务器将不对资源的有效性再作确认,而属性值则代表资源保存为缓存的最长时间;

min-fresh指令



Cache-Control:min-fresh=60(单位:秒)

该指令要求缓存服务器返回至少还未过指定时间的缓存资源

Connection

作用如下:
控制不再转发给代理的首部字段;
管理持久连接;

控制不再转发给代理的首部字段



Connection:不再转发的首部字段名;
在请求或响应中使用该首部字段,可控制不再转发给代理的首部字段(即Hop-by-hop 首部)

管理持久连接



Connection:close
HTTP/1.1默认持久连接。
指定Connection的值为Close,表示服务器端想断开连接;

HTTP/1.1之前如何保持持久连接?



Connection:Keep-Alive
HTTP/1.1之前的版本默认连接都是非持久连接的。通过Keep-Alive可让旧版本开启持久连接;

Date

作用:表明创建HTTP报文的日期和时间



HTTP/1.1的日期格式



旧版本HTTP的日期格式



其他格式



Trailer



作用:说明在报文主体后记录了哪些首部字段。该首部字段可应用在HTTP/1.1版本分块传输编码时;



Transfer-Encoding



作用:规定了传输报文主体时采用的编码方式;

示例:



Upgrade

作用:用于检测HTTP协议及其他协议是否可使用更高的版本进行通信,其参数值可以用来指定一个完全不同的通信协议;



Via

作用:用于追踪客户端与服务器之间的请求和响应报文的传输路径;
报文经过代理或者网关时,会先在首部字段Via中附加该服务器的信息,然后再进行转发;
该首部字段还可避免请求回环的发生。



Warning

作用:告知用户一些与缓存有关的警告



Warning首部的格式如下:最后的日期部分可省略

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  http 网络