【发布时间】:2013-06-01 15:31:57
【问题描述】:
有很多建议如何使用标头来防止浏览器缓存文件。我想做相反的事情。下面的 cache.php 文件永远不会改变。我已经使用 FF、Chrome 和 FF 对此进行了测试,每次重新加载 index.html 时,都会从服务器下载 cache.php。如何告诉浏览器缓存 JavaScript 文件“cache.php”?谢谢
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>Testing</title>
<script src="cache.php" type="text/javascript"></script>
</head>
<body>
<p>Hello!</p>
</body>
</html>
缓存.php
<?php
syslog(LOG_INFO,'cache.php'.rand());
header( 'Content-type: text/javascript' );
echo('alert("Hello!");');
?>
【问题讨论】:
-
如果它永远不会改变,为什么不直接保存生成的文件并将其用作 js 源?这样您就不必在 php 中摆弄 http 缓存标头,而可以让 http 服务器软件为您完成这项工作。
-
@HaukeP。它是由数据库生成的一堆数据,通过从数据库中提取数据而不是创建单独的文件来维护要容易得多。我有一个类似的下载图像的应用程序。我的图像由 PHP 提供,因此我可以控制谁可以查看。我希望服务器第一次将图像发送给客户端,但客户端将缓存的图像用于以后的请求。
标签: php javascript html browser-cache