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

17 - 03 - 17 图解HTTP(21)

2017-01-11 16:47 323 查看
表示是否能缓存的指令

# public  指令

ex :   Cache-Control: public

当指定使用 public指令时,则明确表明其他用户也可利用缓存。

# private  指令

ex :   Cache-Control: private

当指定 private指令后,响应只以特定的用户作为对象,这与 public  指令的行为相反。缓存服务器会对该特定用户提供资源缓存的服务,对于其他用户发送过来的请求,代理服务器则不会返回缓存。

# no-cache指令

ex :  Cache-Control: no-cache

使用no-cache指令的目的是为了防止从缓存中返回过期的资源。

客户端发送的请求中如果包含 no-cache指令,则表示客户端将不会接收缓存过的响应。于是,“中间”的缓存服务器必须把客户端请求转发给源服务器。如果服务器返回的响应中包含 no-cache  指令,那么缓存服务器不能对资源进行缓存。源服务器以后也将不再对缓存服务器请求中提出的资源有效性进行确认,且禁止其对响应资源进行缓存操作。

下图分别从客户端
和 服务器的角度来阐述 no-cache 。

 


ex :  Cache-Control: no-cache=Location

由服务器返回的响应中,若报文首部字段 Cache-Control  中对 no-cache  字段名具体指定参数值,那么客户端在接收到这个被指定参数值的首部字段对应的响应报文后,就不能使用缓存。换言之,无参数值的首部字段可以使用缓存。只能在响应指令中指定该参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: