我正在尝试确定缓存我的 JavaScript 和 CSS 文件的最佳方式。
有几种方法可以做到这一点:
- 使用
Date
,Expires
和Cache-Control
标头 - 使用
ETag
标题 - 永久缓存并在文件更改时更改文件名
- 将查询字符串附加到 HTML 中的文件名以及最后一次修改时间或文件内容的 MD5
我的印象是最后一种方法(4)是最可靠的,并且会导致最少的不必要请求,但我的朋友只是告诉我,有时查询字符串方法不可靠,您实际上需要更改文件名。
将 HTTP 标头设置为永久缓存并仅使用带有最后一次修改时间的查询字符串是否有任何缺点,或者是否存在另一种方法更有益的情况?