我正在尝试优化我的网络应用程序,不幸的是最终得到了大约 450K 的 javascript 文件大小 - 压缩后也是如此 [我需要一段时间才能重做 javascript,但在那之前我必须上线] - 我最初制作了一些小的 javascript 库来使用。我所做的是我有一个 php 文件,其中包含所有 javascript 文件,然后我包含了我的 php 文件,如下所示:
<script language="js/js.php"></script>
问题是,我希望我的文件在第一次加载时会被缓存,但似乎每次我刷新页面或返回时,文件都会从服务器重新加载 - 我使用 firebug 检查了这一点。是否还需要添加其他内容以确保我的文件缓存在用户端......或者我是否误解了缓存的概念?
最佳答案
您需要在 php 中设置一些 header 以确保文件被缓存。
在 js.php 的顶部放置:
ob_start("ob_gzhandler");
$expires = 2678400; // 1 month in seconds
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');
这将动态添加基本缓存 + gzip 压缩。
关于php - javascript 文件没有被缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3332707/