- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有什么方法可以通过发送 If-Modified-Since header 将图像从 S3 加载到浏览器,只有在图像发生更改时才可以?
它应该在浏览器和 S3 上默认启用,但测试表明图像在每次刷新时加载。
最佳答案
Amazon S3 已经支持 If-Modified-Since
header ,以及相关的 If-None-Match
(它使用 ETag 而不是日期).
因此,只有在图像发生变化时才加载图像的方法是实际使用 If-Modified-Since
,或者如果您有 If-None-Match
标签。但是,由于您正在谈论将其加载到浏览器,大多数浏览器将已经这样做,除非您做了一些时髦的事情来禁用浏览器缓存。
参见 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html#RESTObjectGET-requests-request-headers有关支持的 header 的详细信息。
您是否遇到浏览器仍在从 S3 加载图像(即使图像未更改)的情况?如果是这样,您是否有更多详细信息,例如浏览器、版本和类似 Chrome network tab HAR file 的东西说明症状?
默认情况下,它应该在没有自定义更改的情况下在两侧工作。我只是通过将新的 png 图像文件上传到 S3 来进行复制。在一个新的浏览器窗口中,我打开了开发工具并加载了网络选项卡。我确保未勾选“禁用缓存”,并勾选“保留日志”(以在多次 F5 刷新后保留日志)。
我加载了图像,然后按 F5 重新加载两次。结果是:
如您所见,第一个加载状态为 200,其他请求收到 304。
关于amazon-web-services - 带有 If-Modified-Since header 的 S3 存储图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39053058/
我是一名优秀的程序员,十分优秀!