缓存头Cache-Control的含义和使用

1.Cache-Control的特性

  • 可缓存性,包括:
    • public:在HTTP请求返回的过程中,在cache-control设置了public这个值,代表这个HTTP请求返回的内容中所经过的任何路径当中,包括一些中间的HTTP的代理服务器以及发出这个请求的客户端浏览器都可以对这个返回的内容进行缓存的操作。
    • private:表示发起请求的这个浏览器才能进行缓存的
    • no-cache:每次发送请求都要去服务器验证一下,如果服务器告诉可以使用缓存,才使用本地缓存
  • 到期
    • max-age=<seconds>
    • s-maxage=<seconds>  代替max-age,只有在代理服务器中才会生效
    • max-stale=<seconds>  即使这个缓存已经过期了,只要在max-stale这个时间内,还可以使用过期的缓存。
  • 重新验证:
    • must-revalidate:在设置了max-age这个缓存当中,如果已经过期了,必须去原服务端去重新获取资源来验证是否真的过期
    • proxy-revalidate:与must-revalidate差不多,这个是用在缓存服务器中的
  • 其它:
    • no-store:本地和代理服务器都不可以进行缓存,永远要拿新的内容
    • no-transform:主要用在proxy-服务器中。告诉代理服务器不要改动返回的内容

说明:这些设置的头,只是 一个规范,但是这个代理服务器可以完全不按照这个规范去做。

详见官网

原文地址:https://www.cnblogs.com/codexlx/p/13771983.html