【发布时间】:2012-08-23 06:07:12
【问题描述】:
简单的问题。
浏览器是否会自动缓存 PHP 生成的 CSS 和脚本文件,就像 CSS/JS 文件一样?
【问题讨论】:
-
使用 firebug 或 webkit 调试器,它会告诉你浏览器是否使用缓存版本。
标签: php javascript css caching browser
简单的问题。
浏览器是否会自动缓存 PHP 生成的 CSS 和脚本文件,就像 CSS/JS 文件一样?
【问题讨论】:
标签: php javascript css caching browser
当然,除非有明确的行为来防止缓存。浏览器无法知道文件是静态资源还是动态生成的资源。
【讨论】:
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0。
如果 URL 保持不变,并且 HTTP 响应中没有提示告诉浏览器否则,它们可以被缓存。
如果 URL 包含动态信息,浏览器可能无法利用缓存。
通过添加时间戳作为虚拟参数(例如http://host/myfile.php?t=17279273)来更改 URL 是防止缓存的方法之一,因为浏览器会将微小的更改视为新资源。
【讨论】:
$url="http://host/myfile.php?t=".filemtime("myfile.php");
Jonathon 建议添加时间戳以防止缓存的答案是一个很好的答案。
这些方面的一个有用提示是附加文件的创建/上次修改日期。这样做意味着浏览器会在未更改的情况下缓存文件,但是当您更新文件时,这些更改会强制发送给您的用户。
这并不总是最好的选择,但值得注意。
【讨论】: