一.HTTP/1.1 通用首部字段
通用首部字段是指,请求报文和响应报文双方都会使用的首部。
1. (1)Cache-Control
通过指定首部字段 Cache-Control 的指令,就能操作缓存的工作机 制。如图:
指令的参数是可选的,多个指令之间通过“,”分隔。首部字段 Cache- Control 的指令可用于请求及响应时。
Cache-Control: private, max-age=0, no-cache
可用的指令按请求和响应分类如下所示:
缓存请求指令:
缓存响应指令
(2)表示是否能缓存的指令
public 指令
Cache-Control: public
当指定使用 public 指令时,则明确表明其他用户也可利用缓存。
private指令
Cache-Control: private
当指定 private 指令后,响应只以特定的用户作为对象,这与 public 指令的行为相反。 缓存服务器会对该特定用户提供资源缓存的服务,对于其他用户发送 过来的请求,代理服务器则不会返回缓存。
no-cache指令
Cache-Control: no-cache
使用 no-cache 指令的目的是为了防止从缓存中返回过期的资源。 客户端发送的请求中如果包含 no-cache 指令,则表示客户端将不会接 收缓存过的响应。于是,“中间”的缓存服务器必须把客户端请求转发 给源服务器。 如果服务器返回的响应中包含 no-cache 指令,那么缓存服务器不能对 资源进行缓存。源服务器以后也将不再对缓存服务器请求中提出的资 源有效性进行确认,且禁止其对响应资源进行缓存操作。
Cache-Control: no-cache=Location
由服务器返回的响应中,若报文首部字段 Cache-Control 中对 no-cache 字段名具体指定参数值,那么客户端在接收到这个被指定参数值的首 部字段对应的响应报文后,就不能使用缓存。换言之,无参