cache-control可擁有如下值:
public
任何情況下都得快取該資源。
private
指示對於單個使用者的整個或部分響應訊息,不能被共享快取處理。快取只開放給某些特定的使用者,比如伺服器的使用者,其他使用者則不能快取這些資料。
no-cache
指示請求或響應訊息不能快取,該選項並不是說可以設定」不快取「,容易望文生義~。要求向伺服器發起新鮮度檢驗
no-store
用於防止重要的資訊被無意的發布。在請求訊息中傳送將使得請求和響應訊息都不使用快取,完全不存下來。主要用於一些機密檔案
max-age
指示客戶端該端時間內快取都是最新的。以秒為單位。比如:cache-control:max-age=120 表示2分鐘之後過期。
min-fresh
指示客戶端希望獲取乙個在小於指定的時間內被更新過的資源,單位為秒:例如:cache-control:min-fresh =120 。向伺服器獲取2分鐘內被更新過的資源
max-stale
指示客戶端可以接收超出超時期間的響應訊息。例如:cache-control:max-stale =120 ,向伺服器獲取超過快取時間2分鐘的資源。
cache-control:max-age=645672
指定頁面645672秒(7.47天)後過期。
if-modified-since:
當資源過期時(也就是 cache-control:max-age=0,),發現資源具有last-modified宣告,則再次向web伺服器請求時帶上頭 if-modified-since,表示請求時間。web服
務器收到請求後發現有頭if-modified-since 則與被請求資源的最後修改時間進行比對。若last-modified的時間較新,說明最後修改時間較新,說明資源又被改動過,則響應整
的資源重新從伺服器讀取,而不是讀取快取,返回200狀態嗎;若if-modified-since的時間比last-modified新或者相等,說明伺服器的內容沒有更新,直接讀取快取即可,
返回304狀態碼,告知瀏覽器繼續使用所儲存的cache。
如下圖,用fidder讀取的快取:
if-none-match:
當資源過期時(也就是 cache-control:max-age=0),如果客戶端發現服務端返回的頭部資訊具有etage宣告,則客戶端會再次向web伺服器請求時帶上頭if-none-
match (etag的值)。web伺服器收到請求後發現有頭if-none-match 則與被請求資源的相應校驗串進行比對,決定返回200或304。
如果etag的值和if-none-match的值相等,說明伺服器的資源沒有更新,返回304狀態碼,客戶端直接讀取快取即可。如果etag的值和if-none-match的值不等,說明伺服器的資
源有更新,返回200狀態碼,不讀取快取,重新從伺服器獲取資源。
我國的網路是劃江而治的格局,因為利益之爭,各網路服務商之間並不是通力協作,而是採取各種手段相互限制。
這就導致各網之間的互聯互通存在很大的問題,具體表現為:電信的使用者訪問放置在網通機房的伺服器,響應時間特別長,反之亦然。
使用cdn技術,可以讓電信的使用者訪問電信的內容快取伺服器,網通的使用者訪問網通的內容快取伺服器。通過這樣一種策略,繞開了網路運
營商之間人為設定的障礙。
此外,還有以下的幾個案例,使用cdn技術也很好的解決了下面所遇到的問題
1.乙個企業的**伺服器在北京,運營商是電信,在廣東的聯通使用者訪問企業**時,因為跨地區,跨運營商的原因,**開啟速度就會比
北京當地的電信客戶訪問速度慢很多,很容易造成這個企業的客戶流失
2.乙個**的伺服器效能比較差,承載能力有限,有時面臨突發流量,招架不住,直接導致伺服器崩潰,**打不開,比如**的雙十一期,
因為這種情況**打不開,那損失必然很大。而cdn也很好的解決了這一問題。
3.再比如一些中小企業租用的虛擬主機,因為跟好幾個**共用一台伺服器,每個**所分頻寬有限,頻寬過小經常導致流量稍微一多,
**開啟速度就很慢,甚至打不開。這些也是cdn可以解決的問題
cdn服務商一般會提供基於檔案字尾、目錄多個維度來指定cdn快取時間,為使用者提供更精細化的快取管理。cdn快取時間會對「回源率」產生直接的影響。若cdn快取時間較
短,cdn邊緣節點上的資料會經常失效,導致頻繁回源,增加了源站的負載,同時也增大的訪問延時;若cdn快取時間太長,會帶來資料更新時間慢的問題。開發者需要增對特定的業務,來做特定的資料快取時間管理。
快取 瀏覽器快取
瀏覽器快取 brower caching 是瀏覽器在本地磁碟對使用者最近請求過的文件進行儲存,當訪問者再次訪問同一頁面時,瀏覽器就可以直接從本地磁碟載入文件 1 瀏覽器第一次請求時,會發出一組 http 頭,用來指導瀏覽器如何進行快取。伺服器規定乙個資源是否要進行快取,主要由響應頭中的expires...
瀏覽器快取
1.為什麼使用瀏覽器快取 以前了解的動態指令碼加速,或者動態內容快取之類,他們的原理都是避免伺服器重複計算,結果仍保留在伺服器端,這樣獲取資料還得從伺服器檢索然後傳送到使用者瀏覽器,如果我們把這些結果放在瀏覽器中,就省去了伺服器的查詢和網路傳輸,瀏覽器快取很好的實現了這個功能 2.瀏覽器快取存放在哪...
瀏覽器快取
瀏覽器快取知識歸納 瀏覽器快取是提公升網頁效能的一大利器,但是,也是一把雙刃劍。利用的好網頁的效能會有大幅度提公升,伺服器的壓力也會減小。利用的不好,也會遇到很多的問題。本文結合瀏覽器快取的知識,結合真實案例進行分析,希望對讀者有所幫助。瀏覽器快取分類 瀏覽器快取分為強快取和協商快取,瀏覽器載入乙個...