gpt4 book ai didi

iphone - 防止 HTTP 客户端访问带有缓存的服务器 (iphone)

转载 作者:数据小太阳 更新时间:2023-10-29 08:34:53 25 4
gpt4 key购买 nike

好吧,我很困惑。我正在尝试从我的服务器发回魔法 header ,以防止客户端再次访问服务器,直到资源过时为止。

我了解 ETag 或 Last-Modified 的工作原理(验证)- 客户端将始终访问服务器,并且服务器需要根据当前值验证日期或 etag 以了解是否需要提供新的。

Cache-Control 和 Expires,然而,我想我不明白。我设置了以下内容:

Cache-Control: max-age=86400, must-revalidate

无论我做什么,我的客户端(我的浏览器、curl、NSURLConnection)总是在第二次请求时再次访问服务器。这是客户的事情吗?我应该发回哪些 header 以使客户端在一定时间内使用它的私有(private)缓存?

最佳答案

正如 Nathan 在他的回答中暗示的那样,客户端可以发出带有 If-Modified-Since header 的后续请求,以确定他们的缓存是否过时。如果客户端收到 304 Not Modified 响应,它将提供本地缓存之外的内容。

根据 RFC 2616 (HTTP 1.1 规范),Cache-control header 中的 must-revalidate 强制客户端在服务之前重新检查原始服务器的缓存状态缓存的。

关于iphone - 防止 HTTP 客户端访问带有缓存的服务器 (iphone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2196160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com