如何在 HTTP 请求中正确使用缓存控制标头
Posted
技术标签:
【中文标题】如何在 HTTP 请求中正确使用缓存控制标头【英文标题】:how to properly use cache-control header in an HTTP request 【发布时间】:2021-11-29 22:05:02 【问题描述】:我有一个缓存数据的网站,它使用名为akamai
的内容交付网络,这是响应标头。 'cache-control': 'must-revalidate, max-age=600'
。这意味着,在 600 秒(陈旧)后重新验证。如果我希望 CDN 查询每个请求的源服务器,我可以这样做...cache-control: no-cache
。当我发送这个请求时,我得到相同的响应头......表明它没有被重新验证?它实际上没有被重新验证,还是被重新验证?由于该网站是众所周知的,因此可以肯定地说该网站正确响应了标题。
【问题讨论】:
【参考方案1】:您观察到的是正确的行为。
您的Cache-Control
请求标头适用于此请求,而Cache-Control
响应适用于未来的请求。无论您的客户端是否想要对此请求的新响应,都不会也不应该改变服务器关于如何缓存其资源的一般方向。
只要您在请求中使用no-cache
,您就不会得到缓存响应。
【讨论】:
以上是关于如何在 HTTP 请求中正确使用缓存控制标头的主要内容,如果未能解决你的问题,请参考以下文章
如何从控制器正确访问 HTTP 标头? (.NET 网络应用程序)