首页 > 解决方案 > 如何在 HTTP 请求中正确使用缓存控制标头

问题描述

我有一个缓存数据的网站,它使用一个名为 的内容传递网络akamai,这是响应标头。 'cache-control': 'must-revalidate, max-age=600'. 这意味着,在 600 秒(陈旧)后重新验证。如果我希望 CDN 查询每个请求的源服务器,我可以这样做cache-control: no-cache...... 当我发送这个请求时,我得到相同的响应头......表明它没有被重新验证?它实际上没有被重新验证,还是被重新验证?由于该网站是众所周知的,因此可以肯定地说该网站正确响应了标题。

标签: httpcachingcdn

解决方案


您观察到的是正确的行为。

您的Cache-Control请求标头适用于此请求,而Cache-Control响应适用于未来的请求。无论您的客户端是否想要对此请求的新响应,都不会也不应该改变服务器关于如何缓存其资源的一般方向。

只要您no-cache在请求中使用,就不应获得缓存响应。


推荐阅读