2016-11-24 36 views
1

我通過點擊地址欄中的回車鍵兩次訪問this page。該css文件似乎已過期:緩存控制最大年齡爲5天,但最後修改是5天前(我在中國,現在是時間2016年10月24日12:16 PM)。提前致謝。爲什麼過期的css樣式仍然緩存而不是從服務器請求?

enter image description here

整個請求頭:

Accept:text/css,*/*;q=0.1 
Accept-Encoding:gzip, deflate, sdch 
Accept-Language:zh-CN,zh;q=0.8 
Host:c.58cdn.com.cn 
Proxy-Connection:keep-alive 
Referer:http://m.58.com/bj/zufang/?58ihm=m_house_index_zufang&58cid=1&PGTID=0d200001-0000-15fd-aae2-e605031f9c08&ClickID=1 
User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 

而且整個效應初探頭:

Age:69061 
Cache-Control:max-age=432000 
Connection:keep-alive 
Content-Encoding:gzip 
Content-Type:text/css 
Date:Wed, 23 Nov 2016 08:43:18 GMT 
Last-Modified:Fri, 18 Nov 2016 08:38:39 GMT 
Transfer-Encoding:chunked 
X-Cache:HIT from www.matocloud.com 

回答

0

現在我知道爲什麼last-modified不起作用發送 - cache-control具有較高的優先級超過last-modified

因此,如果我在5天之前訪問css,瀏覽器將始終從緩存中加載它,這正是cache-control的用途。

1

這是因爲上次修改字段的GMT時區。這與您當地的時區不同。

Last-Modified字段的時間爲08:38:39 GMT。但是,目前的時間只有04:22:54 GMT

你可以在這裏這裏的當前GMT時間:http://time.is/GMT

編輯:在您的響應報頭中的日期字段是不準確的某些原因。時間還沒有達到08:43:18 GMT

+0

即使使用「crtil + F5」刷新頁面,日期字段也是靜態的。 格林威治標準時間是'2016年11月24日04:29 GMT',但仍然是5天+晚於2016年11月18日08:38:39 GMT,是不是真的?謝謝。 – jiajianrong

+0

嗯,你是對的,我忽略了日期。 –

0

我認爲這可能是因爲if-modified-since效應。 瀏覽器發送請求到高速緩存服務器和緩存請求用的If-Modified-Since和服務器發送OK所以緩存直接命中了XCache頭

相關問題