对于给定文件(.js,.css等)的情况,我想知道两个一般问题,你已经设置了一个过期的标题,还有你没有:
只有当文件名称发生变化时,浏览器才会请求新文件(不提供缓存的文件)吗?浏览器也不评估文件内容,对吗?
所有浏览器在问题#1上的行为是否相同,或者已知它们之间存在差异,例如在移动设备上(iOS safari等)?
< / LI> 醇> 谢谢你, 添答案 0 :(得分:2)
除非下载文件,否则浏览器无法检查文件内容。 (例如,浏览器不会请求校验和)。它通常将内容检查(或时间戳检查)的任务委托给服务器。浏览器将发送带有时间戳的if-modified-since标头。网络服务器将检查文件是否已更改,如果没有,它将发送304未修改的代码。
所有浏览器都遵循此基本协议。服务器决定文件是否发生变化的方式可能不同。