默认情况下,如果请求的要求,则可以缓存响应 方法,请求标头字段和响应状态表明 它是可缓存的
当他们说“回复”时,这意味着一切都在缓存吗?所以当我使用Cache-Control时:no-cache会阻止页面缓存吗?那将来会产生什么不良影响吗?
答案 0 :(得分:2)
通常,您可能希望在旧(甚至几秒钟!)页面可能过时时阻止缓存。您期望页面内容相关的时间越长,缓存越好(并且越少)。相反,信息的保质期越短,缓存实际上越有可能阻碍并阻止人们获取最新内容。
当然,禁止缓存的成本是您没有获得缓存的好处。每次点击页面都会向您的服务器生成一个请求,即使您只是一直提供相同的页面。这可能意味着服务器负载的显着增加,大型站点(或一个rinky-dink Web服务器)会发现不合需要的。因此,为了回答“缓存还是不缓存?”这一问题,您需要平衡带宽和服务器功能(以及您愿意最大化它们的意愿),以满足您拥有绝对最新位的要求。如果您没有这样的要求,那么no-cache
可能会有点过分。
至于未来效果?唯一真正的问题是缓存仍然在某种程度上发生,直到所有缓存副本到期。一旦发生这种情况,就没有真正的问题。您无法在以后重新启用缓存。实际上,如果您确实重新启用它,代理会很快看到更改,并在下次有人请求时再次开始缓存页面。
答案 1 :(得分:0)
当他们说“回应”时,这意味着一切都在缓存吗?
见Paul D. Waite的评论。
所以当我使用Cache-Control时:no-cache会阻止页面缓存吗?
不,它不会。
来自Mark Notingham's Caching Tutorial
- no-cache - 强制缓存每次在释放缓存副本之前将请求提交到源服务器进行验证。这有助于确保认证(与公众结合),或保持严格的新鲜度,而不会牺牲缓存的所有好处。
如果您根本不想为资源使用缓存,请使用“no-store”。 (同上)
- no-store - 指示缓存在任何条件下都不保留该表示的副本。