瀏覽器的緩存是一個比較復(fù)雜但是比較重要的機制窖张,在我們?yōu)g覽一個頁面時發(fā)現(xiàn)有異常情況,通骋献蹋考慮的就是:瀏覽器是否做了緩存宿接。
當(dāng)瀏覽器做了緩存,而我們需要請求最新的頁面內(nèi)容的時候辕录,通常的做法是按Ctrl+F5組合鍵重新請求一次這個頁面睦霎。Ctrl+F5組合鍵刷新頁面,瀏覽器會直接向目標URL發(fā)送請求走诞,而不是使用瀏覽器緩存的數(shù)據(jù)副女。
當(dāng)我們使用Ctrl+F5組合鍵刷新頁面時,在HTTP的請求頭中會增加一些內(nèi)容蚣旱,它告訴服務(wù)器我們要獲取的是最新的數(shù)據(jù)而不是緩存碑幅。
當(dāng)使用瀏覽器的緩存數(shù)據(jù)時,如下圖所示:
當(dāng)使用Ctrl+F5刷新頁面時:
這次請求從服務(wù)器返回的數(shù)據(jù)塞绿,最重要的是在請求頭中增加了兩個數(shù)據(jù)項:Program:no-cache和Cache-Control:no-cache
Expires后面跟著一個日期和時間沟涨,超過這個時間值后,緩存的內(nèi)容將
消失位隶。也就是瀏覽器在發(fā)出請求之前拷窜,先檢查這個屬性,看該頁面是否已經(jīng)過期了涧黄,過期了就向服務(wù)器重新發(fā)起請求篮昧,例如:
Expires:Thu, 14 Apr 2016 13:05:28 GMT