Http響應頭裏Cache-Control:no-cache、max-age=""和no-store

響應頭:Cache-Control:no-cache,強制每次請求直接發送給源服務器,而不經過本地緩存版本的校驗。這對於需要確認認證應用很有用(可以和public結合使用),或者嚴格要求使用最新數據 的應用(不惜犧牲使用緩存的所有好處)

通俗解釋:瀏覽器通知服務器,本地沒有緩存數據

//===============================================================================

cache-control :
                       max-age>0 時 直接從遊覽器緩存中 提取 
                       max-age<=0 時 向server 發送http 請求確認 ,該資源是否有修改 
有的話 返回200 ,無的話 返回304。

通俗解釋:
        響應頭中的 Cache-Control:max-age=315360000 是通知瀏覽器:315360000 秒之內不要煩我,自己從緩衝區中刷新。

拓展:

HTTP1.0

HTTP1.0中通過Pragma 控制頁面緩存,通常設置的值爲no- cache,不過這個值不這麼保險,通常還加上Expires置爲0來達到目的。但是如我們刻意需要瀏覽器或緩存服務器緩存住我們的頁面這個值則要設置爲 Pragma。

HTTP1.1

HTTP1.1中啓用Cache-Control 來控制頁面的緩存與否,這裏介紹幾個常用的參數:

  • no-cache,瀏覽器和緩存服務器都不應該緩存頁面信息;
  • public,瀏覽器和緩存服務器都可以緩存頁面信息;
  • no-store,請求和響應的信息都不應該被存儲在對方的磁盤系統中;
  • must-revalidate,對於客戶機的每次請求,代理服務器必須想服務器驗證緩存是否過時

目前Cache-Control請求字段被各個瀏覽器支持的較好,其優先級也比較高,當和別的字段(如Expires)一起用時,會覆蓋其他字段。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章