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