Cache-Control有很多的参数可以选择,对于缓存的控制非常重要,参数包括:

  • public:响应会被缓存,并且可以在多用户间共享。

  • private:响应只能够作为私有的缓存,比如在一个浏览器中,不能在用户间共享,所以设置该参数后就不能被反向代理缓存了。

  • no-cache:响应不会被缓存,而是实时向服务器端请求资源,这使得HTTP认证能够禁止缓存以保证安全性。实际中这个容易让人产生误解,字面理解是响应不被缓存,而实际上no-cache情况下也是会被缓存的,只是每次客户端都要向服务器评估缓存响应的有效性。

  • no-store:在任何条件下,响应都不会被缓存,并且不会写入到客户端的磁盘里,这也是基于安全考虑的某些敏感的响应才会使用这个。

  • max-age=[单位:秒]:设置缓存最大的有效时间,从服务端返回的时间开始计算。

  • s-maxage=[单位:秒]:类似于max-age,但是它只用于共享缓存,比如代理。


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...


引用和评论

0 条评论