缓存

1. 优点
  • 降低服务器负荷。
  • 提高响应速度。
2. 缓存位置
  • 浏览器
  • 代理服务器
3. Cache-Control 字段

通用首部字段,控制缓存的行为。

Cache-Control: private, max-age=0, no-cache
  • private:默认值,仅客户端可以缓存,代理服务器不可缓存,与 public 相对。

  • no-cache:使用代理服务器缓存时,需先向源服务器验证缓存是否过期。何时使用代理服务器缓存呢?
    一是客户端请求时,二是源服务器返回缓存给代理服务器,代理服务器需缓存时。

  • no-store:不允许缓存。no-cache 是缓存前需先进行认证,private 是只允许客户端缓存。

  • max-age:请求报文中,max-age 越小,对缓存有效性越苛刻。当 max-age 为 0,那么缓存服务器通常需要将请求转发给源服务器。因为缓存服务器的缓存时间必须比请求报文中的 max-age 小才接收。
    响应报文中,max-age 指缓存在代理服务器的有效时间。
    注:Expires 字段也可以用于告知缓存服务器该资源什么时候会过期。在 HTTP/1.1 中,会优先处理 Cache-Control : max-age 指令;而在 HTTP/1.0 中,Cache-Control : max-age 指令会被忽略掉。

4. 总结

no-store 是不缓存,默认 private 是只允许客户端缓存,no-cache 是使用缓存前需认证,max-age 是指定缓存的有效期。

你可能感兴趣的:(缓存)