1.cache-control:
使用者每一次訪問www.google.com,瀏覽器檢視快取資料夾,發現不存在快取檔案,於是傳送http請求。
server端返回http頭中包含 cache-control=max-age=60。
5秒鐘後,使用者重新整理該頁面,瀏覽器發現快取資料夾中有該頁面的快取,也在存活期內,則直接把快取檔案作為響應。
2.last-modified
60秒鐘後使用者繼續重新整理該頁面,此時max-age已經過期,但快取資料夾中還有此檔案,瀏覽器讀取到該檔案的last-modified,並將last-modified的值
作為if-modified-since的值傳送給server端,server端檢視該檔案的最後修改日期,如果if-modified-since比伺服器上的最後修改日期要小,就明客戶端
的檔案已經低乙個版本了,於是返回http 200。反之則返回http 304(不返回包體)。(server端如果沒有找到該檔案,說明這是請求動態頁面的請求,例如:.php .jsp .action)
3.etag
server端在返回last-modified的同時,還返回另外乙個包頭資訊etag。
在傳送if-modified-since的同時,還傳送if-none-match,它的值就是etag的值。
server端如果if-modified-since和etag兩者都匹配則返回http 304。
ps:ie6 在資源有gzip壓縮同時有etag頭時,cache後再次發請求不會帶if-none-match頭
ie6 下如果出現重複的url請求,會直接拿快取中的資料,不會傳送http請求
pragma、expires 這兩個http1.0 頭資訊可以忽略不寫,現在幾乎100%都使用http1.1
瀏覽器強制重新整理的本質就是傳送http請求時不包含if-none-match、if-modified-since,這樣server端會重新返回包體。
快取 瀏覽器快取
瀏覽器快取 brower caching 是瀏覽器在本地磁碟對使用者最近請求過的文件進行儲存,當訪問者再次訪問同一頁面時,瀏覽器就可以直接從本地磁碟載入文件 1 瀏覽器第一次請求時,會發出一組 http 頭,用來指導瀏覽器如何進行快取。伺服器規定乙個資源是否要進行快取,主要由響應頭中的expires...
瀏覽器快取
1.為什麼使用瀏覽器快取 以前了解的動態指令碼加速,或者動態內容快取之類,他們的原理都是避免伺服器重複計算,結果仍保留在伺服器端,這樣獲取資料還得從伺服器檢索然後傳送到使用者瀏覽器,如果我們把這些結果放在瀏覽器中,就省去了伺服器的查詢和網路傳輸,瀏覽器快取很好的實現了這個功能 2.瀏覽器快取存放在哪...
瀏覽器快取
瀏覽器快取知識歸納 瀏覽器快取是提公升網頁效能的一大利器,但是,也是一把雙刃劍。利用的好網頁的效能會有大幅度提公升,伺服器的壓力也會減小。利用的不好,也會遇到很多的問題。本文結合瀏覽器快取的知識,結合真實案例進行分析,希望對讀者有所幫助。瀏覽器快取分類 瀏覽器快取分為強快取和協商快取,瀏覽器載入乙個...