0

对于给定文件(.js、.css 等)设置了 expires 标头的情况以及没有设置过期标头的情况,我想知道两个一般性问题:

  1. 浏览器是否仅在文件名更改时才请求新文件(不提供缓存的文件) ?浏览器也不评估文件内容,对吗?

  2. 对于问题 #1,所有浏览器的行为是否相同,或者它们之间是否存在差异,例如在移动设备上(iOS Safari 等)?

谢谢你,蒂姆

4

1 回答 1

2
  1. 除非下载文件,否则浏览器无法检查文件内容。(例如,浏览器不请求校验和)。它通常将内容检查(或时间戳检查)的任务委托给服务器。浏览器将发送带有时间戳的 if-modified-since 标头。网络服务器将检查文件是否已更改,如果没有,它将发送 304 未修改代码。

  2. 所有浏览器都遵循这个基本协议。服务器在决定文件是否已更改的方式上可能会有所不同。

于 2012-06-21T02:26:24.067 回答