【发布时间】:2020-03-13 09:15:54
【问题描述】:
假设bundle.js 是 750kb,如果您将其设置为“永不过期”或“10 年内到期”,那么浏览器是否不需要获取该文件,因此可以使您的网站和页面加载速度更快?
(顺便说一下Cache-control: max-age是HTTP/1.1和if it and Expires: are both present, Cache-control overrides the Expires header。)
如果您有一个每周或 2 个月的发布周期,您应该将 Expires 标头设置为 1 周还是 2 个月?我在想,如果每周发布周期,您的一些 JavaScript 或 CSS 文件可能会保持不变,所以将其设置为 6 个月甚至 10 年到期可能会更好? (因为一周后它没有改变?)
但是,如果您的文件已更改但浏览器无法获取它怎么办?如果您使用 ETag 机制,或者如果您使用bundle.53ae823.js 或bundle.2020-03-12-08.js,那么您是否可以通过 ETag 不同或文件名不同来“强制”它过期?设置 Expires 标头长度的好方法是什么?
【问题讨论】:
标签: caching http-headers browser-cache web-performance expires-header