gpt4 book ai didi

http - 即使禁用了缓存,Safari 也会缓存 GET 请求

转载 作者:可可西里 更新时间:2023-11-01 17:17:42 44 4
gpt4 key购买 nike

我已经将我知道的所有 header 设置为在我的服务器上禁用缓存(甚至禁用 ETAG),但 Safari 仍然偶尔(大约 50% 次)缓存我的请求。

工作流程

我正在实现 oauth 1,所以:

  1. 浏览器发出GET/api/user 请求

  2. 服务器返回 405

  3. 浏览器重定向到第 3 方网站以进行身份​​验证

  4. 浏览器被重定向到 api/callback,它将一些信息存储到 cookie 中。

  5. 浏览器被重定向回原始路径。

  6. 浏览器发出本应成功的 GET/api/user 请求,但它却从磁盘缓存中获取 405。

从 Safari Network Inspector 请求摘要

总结

网址: http://localhost:3000/api/user

状态: 405 方法不允许

来源: 磁盘缓存

请求

无请求,由磁盘缓存提供。

响应

传输编码: Identity

内容类型: application/json; charset=utf-8

用法: 无缓存

缓存控制: 私有(private)、无缓存、无存储、必须重新验证、max-age=0

变化: Cookie,接受编码

日期: 2019 年 1 月 23 日星期三 11:34:23 GMT

内容编码: gzip

过期时间: 1994 年 12 月 1 日星期四 16:00:00 GMT

连接: 关闭

x-powered-by: Express

结论

我不知道出了什么问题,我将不胜感激任何帮助。我的Safari 版本为 12.0.2。我无法用 Chrome 复制这个问题。

最佳答案

使用 Vary: *。这神奇地解决了我的问题。

这个答案帮助了我:https://stackoverflow.com/a/2068353/1364158

或者,你真的可以通过在你的 url 中包含一些无意义的随机查询参数来强制浏览器加载一个新版本的请求,例如/api/user?ts=18284

关于http - 即使禁用了缓存,Safari 也会缓存 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54326697/

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