为什么Safari不缓存这个图像,即使Cache-Control是“public,max-age = 31536000”?

5

在 macOS 上使用 Chrome 没有问题,但在 Safari + macOS(或 iOS)上无法正常工作。

年龄:2366102
过期时间:2024年2月16日 星期五 11:05:21 GMT
缓存控制:public,max-age=31536000,immutable

https://meo.comick.pictures/YKm6O.jpg

enter image description here


Safari 16.3 (18614.4.6.1.5) 在 macOS 13.2 (22D49) 上似乎始终能够做正确的事情 - 如果我强制它加载,则通过网络加载,如果在同一会话中返回则从内存缓存加载,如果在关闭浏览器后返回则从磁盘缓存加载。 - ricardkelly
我们能看到响应和请求的完整标头吗? - Yarin_007
@ricardkelly 这是我的录制视频。 - meotimdihia
1个回答

0

我在本地主机和生产网站上观察到JavaScript文件的类似行为。

经过一些实验,问题似乎是Link modulepreload上的crossorigin

<link rel="modulepreload" crossorigin href="/assets/_commonjsHelpers-042e6b4d.js">

如果我移除链接的crossorigin属性,Safari会使用缓存的JS文件。
细节:在macOS笔记本上的Safari版本16.2(18614.3.7.1.5)。

Detail with cache-control


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接