简单问题。
浏览器是否会像CSS/JS文件一样自动缓存PHP生成的CSS和脚本文件?
当然,禁止显式操作以防止缓存。浏览器无法知道该文件是静态还是动态生成的资源。
如果URL保持不变,并且HTTP响应中没有提示浏览器,则可以缓存它们。
如果URL包含动态信息,浏览器可能无法利用缓存。
通过添加时间戳作为伪参数(例如http://host/myfile.php?t=17279273
)来更改URL是防止缓存的方法之一,因为浏览器将微小的更改视为新资源。
Jonathon的答案建议添加时间戳以防止缓存,这是一个很好的答案。
沿着这些行,一个有用的提示是附加文件的创建/上次修改日期。这样做意味着,在不变的情况下,浏览器将缓存文件,但当您更新文件时,这些更改将强制给您的用户。
这并不总是最好的选择,但值得注意。