浏览器缓存PHP生成的CSS和Javascript文件


Do browsers cache PHP generated CSS and Javascript files?

简单问题。

浏览器是否会像CSS/JS文件一样自动缓存PHP生成的CSS和脚本文件?

当然,禁止显式操作以防止缓存。浏览器无法知道该文件是静态还是动态生成的资源。

如果URL保持不变,并且HTTP响应中没有提示浏览器,则可以缓存它们。

如果URL包含动态信息,浏览器可能无法利用缓存。

通过添加时间戳作为伪参数(例如http://host/myfile.php?t=17279273)来更改URL是防止缓存的方法之一,因为浏览器将微小的更改视为新资源。

Jonathon的答案建议添加时间戳以防止缓存,这是一个很好的答案。

沿着这些行,一个有用的提示是附加文件的创建/上次修改日期。这样做意味着,在不变的情况下,浏览器将缓存文件,但当您更新文件时,这些更改将强制给您的用户。

这并不总是最好的选择,但值得注意。