Caching 如果缓存文件的名称或内容发生更改,是否浏览该文件?

Caching 如果缓存文件的名称或内容发生更改,是否浏览该文件?,caching,browser,browser-cache,expires-header,Caching,Browser,Browser Cache,Expires Header,在给定文件(.js、.css等)中设置了expires头的情况下,以及没有设置expires头的情况下,我想知道两个一般性问题: 浏览器是否仅在文件名发生更改时才请求新文件(不提供缓存文件)?浏览器也不评估文件内容,对吗 所有浏览器在问题#1上的行为是否相同,或者是否已知它们之间存在差异,例如在移动设备上(iOS safari等) 谢谢,, 提姆 除非下载文件,否则浏览器无法检查文件内容。(例如,浏览器不请求校验和)。它通常将内容检查(或时间戳检查)的任务委托给服务器。浏览器将发送带有时间戳的i

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

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

  • 所有浏览器在问题#1上的行为是否相同,或者是否已知它们之间存在差异,例如在移动设备上(iOS safari等)

  • 谢谢,, 提姆

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

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


  • 浏览器检查内容的唯一方法是下载文件的新副本,从而刷新缓存。-@user237815,感谢您的回答,最后一个问题:expires头的设置是否与此匹配以下载还是不下载决策树?好问题。我不知道expires标头的交互,以及是否从中修改。规范如下: