http - 没有 'Last-Modified' HTTP header -> 但是缓存?

标签 http caching http-headers

从浏览器的角度来看,

如果在没有 Last-Modified HTTP header 字段的情况下提供组件(图像、脚本、样式表...)会发生什么情况...

即使将来由于缺少日期/时间信息而无法执行有效性检查 (If-Modified-Since),它是否会被浏览器缓存?

例如:

GET /foo.png HTTP/1.1
Host: example.org
--
200 OK
Content-Type: image/png

...

foo.png 是否被缓存了?

--

您是否知道任何在线服务来提供我可以自己编写的原始 HTTP 响应以测试我的要求?

谢谢。

最佳答案

一般来说,响应可以被缓存,除非他们明确表示他们不能(例如,使用缓存控制:无存储)。

但是,大多数缓存不会存储没有它们可以作为新鲜度基础的东西的响应,例如 Cache-Control、Expires 或 Last-Modified。

完整规则见: https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p6-cache-13#section-2.1

参见: http://www.mnot.net/blog/2009/02/24/unintended_caching 举例说明这如何让一些人感到惊讶。

关于http - 没有 'Last-Modified' HTTP header -> 但是缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5477566/

相关文章:

http - Chrome 中带有 HTTP 302 重定向的 HTML5 音频

php - W3 Total Cache - 允许编辑者从缓存中清除单个帖子

linux - 在 Linux 上使用 DRBD 设置 block 级缓存

html - css 背景图片在重新加载页面后闪烁

javascript - 使用 AngularJS 发送 HTTP header 请求

javascript - 我收到 "No ' Access-Control-Allow-Origin' header 错误“即使我设置了它

javascript - encodeURI 不会转义 `equals` - 为什么?

node.js - 如何删除filepond上的临时上传文件

java - 如何在 Java 中使用 SOCKS?

http - X-Cache header 说明