[请益] PHP 使用cache

楼主: coldollsheep (拿出我的骇客灵魂)   2015-01-23 15:15:09
我想做一支PHP会去捞档案内容
但是那个档案内容预期一个小时才会更动一次
所以我想吐资料的时候去让浏览去快取一小时
一小时内你再要请求请用自己浏览器的快取
我程式如下:
<?php
$offset = 60;
header("Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT");
header("Cache-Control: max-age=$offset, must-revalidate");
header('Content-Type: text/html') ;
echo $content = file_get_contents('cache.html') ;
?>
可是我刷新F5,我看状态一直是两百耶。表示是服务器重跑的
请问我该如何设定呢?
如果成功应该是304是吗?
作者: rockmanalpha (KIN)   2015-01-23 15:39:00
offset是算秒的喔 offset应该是3600
楼主: coldollsheep (拿出我的骇客灵魂)   2015-01-23 15:57:00
恩 感谢回应,但即便如此,他还是连六十秒都没快取
作者: rockmanalpha (KIN)   2015-01-23 16:04:00
要不要换个作法 自己用filemtime算然后写304 header
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-01-23 16:05:00
阿你不是叫他must-revalidate他当然听你的阿
作者: rockmanalpha (KIN)   2015-01-23 16:05:00
http://tinyurl.com/kc5kn2k Stackoverflow参考
楼主: coldollsheep (拿出我的骇客灵魂)   2015-01-23 16:17:00
TO M大,感谢提醒,我直接把, must-revalidate拿掉但还是200....OrzTO R大,我实做看看,但不如预期的原因是什么呢?比较怕是我对cache-control的误解
作者: rockmanalpha (KIN)   2015-01-23 16:25:00
你是用Firebug看Response吗 有听说过Firebug总是回200的问题
楼主: coldollsheep (拿出我的骇客灵魂)   2015-01-23 16:27:00
我用你贴的方式成功了! & 我用chrome但是依旧不知道我错在哪边,是不是根本不是这样用的
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-01-23 16:29:00
我也不懂 原来关于must-revalidate众说纷纭 XD
楼主: coldollsheep (拿出我的骇客灵魂)   2015-01-23 16:34:00
众说纷纭!!XDDD这太好笑了 ㄚ ~ 都不乖乖执行

Links booklink

Contact Us: admin [ a t ] ucptt.com