我正在使用php根据不同的条件动态生成javascript。我希望浏览器能够在特定的时间内缓存它。
我使用以下代码进行缓存,但似乎无法正常工作。
header("Content-type: text/javascript; charset: UTF-8");
header("Cache-Control: must-revalidate");
$offset = 60 * 60 ;
$ExpStr = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($ExpStr);
此外,js文件相当大,约290 KB,所以我想将其压缩到浏览器以减少下载时间。有什么建议吗?
答案 0 :(得分:3)
您忘记了过期标题名称,因此该行
$ExpStr = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
应该是
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
// output your js file here
要压缩输出,请在PHP.ini中取消注释(或添加,如果不存在)以下行。放气或压缩输出。修改PHP.ini
后,不要忘记重新启动服务器output_handler = ob_gzhandler