[英]header(“Cache-Control:max-age = 36000”) Is not working in PHP
我想在瀏覽器中緩存html頁面,並在localhost上綁定它,然后在響應標頭中發送正確的標頭(使用PHP),但瀏覽器仍不緩存響應,並且每次我請求相同的資源時,它連接到服務器並從那里獲得響應
在我的html頁面頂部
<?php
header("Cache-Control:max-age=36000");
?>
Response
頭是
HTTP / 1.1 200 OK
日期:2016年11月15日,星期二14:45:37 GMT
伺服器:Apache / 2.4.16(Win32)OpenSSL / 1.0.1p PHP / 5.6.12
X-Powered-By:PHP / 5.6.12
快取控制:max-age = 36000
接受范圍:無
有所不同:接受編碼
內容編碼:gzip
內容長度:154
保持活動:超時= 3,最大= 100
連接:保持活動
內容類型:text / html; 字符集= UTF-8
當我在標頭中看到Cache-Control:max-age=36000
時,我期望瀏覽器將該響應緩存36000秒,如果我重新加載頁面,我將獲得緩存的響應(和不同的響應標頭),但是我得到的卻是相同的重新加載后的標頭,然后再次直接從服務器獲取響應,
重新加載request headers
后
GET /check.php HTTP/1.1
Host: localhost
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: en-US,en;q=0.8
我是否應該發送其他響應頭來告知瀏覽器緩存響應?
PHP(當然)本身會添加一些神奇的緩存控制標頭。 不可能簡單地用header()覆蓋它們,而必須使用session_cache_limiter()設置不同的緩存控制標頭,或使用session_cache_limiter('')禁用所有這些魔術標頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.