Php 如何设置http头缓存?
我需要使用http头将javascript和页面详细信息存储到浏览器缓存中 有人能帮我拿这个吗Php 如何设置http头缓存?,php,Php,我需要使用http头将javascript和页面详细信息存储到浏览器缓存中 有人能帮我拿这个吗 非常感谢只需在标题中设置过期日期如何- header("Cache-Control: public"); header("Expires: Tue, 08 Oct 2013 00:00:00 GMT"); // Date in the future 应该注意的是,现代浏览器在缓存资源方面做得很好。通常这些方法用于强制重新加载资源;阻止浏览器缓存。您可以使用HTML元: 或 PHP标题: heade
非常感谢只需在标题中设置过期日期如何-
header("Cache-Control: public");
header("Expires: Tue, 08 Oct 2013 00:00:00 GMT"); // Date in the future
应该注意的是,现代浏览器在缓存资源方面做得很好。通常这些方法用于强制重新加载资源;阻止浏览器缓存。您可以使用HTML元:
或
PHP标题:
header("Cache-Control: public"); // HTTP/1.1
header("Expires: Tue, 08 Oct 2013 00:00:00 GMT"); // Date in the future
来源:我认为对于您想要缓存的确切内容存在一些混淆。这里提到两个项目-
header("Cache-Control: public");
header("Expires: Tue, 08 Oct 2013 00:00:00 GMT"); // Date in the future
这将缓存页面的内容,但不一定是页面引用的文件。例如,如果您的HTML文件中有以下代码-
<script src="http://domain/some/js/file.js" type="javascript" ></script>
现在,在另一个_file.php
中,您需要加载JavaScript文件并用适当的头“回显”它-
$file = '/absolute/path/to/your_script.js';
if (file_exists($file)) {
header('Content-Type: text/javascript');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit();
}
将过期日期设置为过去将强制浏览器重新加载资源-与缓存完全相反..对此表示抱歉。阅读手册的错误部分,对标题不太熟悉。您的答案现在看来是正确的。回答问题时请小心,正确阅读。此外,仅从文档中复制粘贴也不是一个好的答案。我使用了与您在此处发布的相同的代码,但我得到的结果如下,并且它不起作用,[HTTP\u PRAGMA]=>无缓存[HTTP\u cache\u CONTROL]=>无缓存您如何引用JavaScript文件?抱歉,我不明白你在这里的确切意思。。。。我通过script标签引用了javascript文件……这里有点混乱。这里设置的是正在加载的HTML页面的缓存控件。如果你想为特定的文件设置特定的标题,你可能必须通过PHP手动发送你的JavaScript文件。。我之前有什么需要补充的吗?谢谢你的耐心和及时的帮助。。我尝试了其他方法,比如使用metatag。。。但这并没有成功
$file = '/absolute/path/to/your_script.js';
if (file_exists($file)) {
header('Content-Type: text/javascript');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit();
}