我正在开发一个 Web 应用程序,我希望所有图片(几百 MB - 20 000 - 50 000 个缩略图)只下载一次,并且永远不会再次下载,因为它们实际上不会改变。此外,这些图片是从 YouTube 服务器下载的,我不想不必要地破坏他们的服务器。
但问题是,当我重新加载页面时,请求又开始下雨,而不是加载缓存的图像。当我导航到我的页面并重新加载它时会发生这种情况,但当我打开另一个页面并按“返回”时,图像会从缓存中加载。当我使用 JavaScript 动态添加新内容时,图像也会从缓存中加载。
那么,我遗漏了什么?我正在使用 Windows 10 上的 XAMPP 服务器进行测试。
PS:我是使用地址栏附近的重新加载按钮进行重新加载,而不是使用 Ctrl+R 或其他清除缓存的组合键。
PPS 在有人对此发表评论之前,我要澄清一下,我并不是一次性下载所有数千张图片
答案1
由于 HTTP 响应缓存标头指定了Max-Age
86400 秒(一天)的期限,因此浏览器将在缓存过期时获取图像。
您需要增加才能Max-Age
无限期地缓存它们。