2011-06-14 103 views
2

我在一些基於php的文件(圖像,css,json)上設置了一個非常簡單的頭緩存控制。通過PHP頭的緩存控制 - Chrome Works/Firefox不是

至此,chrome緩存和firefox沒有。

這裏是頭部代碼:

header('Cache-Control: max-age=300, must-revalidate'); 
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 300) . " GMT"); 

任何幫助是極大的讚賞。

+0

您的圖像/ css/json是通過PHP腳本(如readfile,file_get_contents,fopen等)來提供的,還是您使用PHP生成鏈接到圖像/ css/json的HTML? – 2011-06-14 02:56:38

+0

是的,通過fopen和呼應;通過php文件頭正在發送/緩存。 – Michael 2011-06-14 03:02:58

+0

配置apache爲你做這件事情會更有效率。通過PHP訪問靜態文件會給請求增加一些開銷。 – datasage 2011-06-14 03:40:03

回答

0

檢查實際上是與像Live HTTP Headers

發送到瀏覽器的完整的HTTP標頭是否使用PHP的會話功能呢?

當您使用會話時,PHP可以設置某些緩存HTTP標頭。 session_start()設置緩存標頭 ,它可以配置爲session_cache_limiter()。高速緩存限制器的默認值可以在php.ini中被覆蓋。所有這些在嘗試設置自己的緩存標題時都會變得混亂,因此請確保檢查實際發送的標題。