假设根据 HTTP 1.1expires
标头,cachedfile.js 将在 1 年后过期。在现代浏览器中,这两个 URI 是否会被分别缓存?
请求 1
cachedfile.js?var=1
请求 2
cachedfile.js?var=2
假设Cache-control: public
和相同Etag
答案1
是的,它们将被单独缓存。事实上,开发人员使用的一个技巧是强制浏览器在更新 CSS 文件后提取其新副本,即在文件后附加类似 ?v=2 的内容(例如href="styles.css?v=2"
)。