一、瀏覽器對緩存的處理:Internet選項
創(chuàng)新互聯(lián)公司 - 達州托管服務(wù)器,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽服務(wù)器托管,德陽服務(wù)器托管,遂寧服務(wù)器托管,綿陽服務(wù)器托管,四川云主機,成都云主機,西南云主機,達州托管服務(wù)器,西南服務(wù)器托管,四川/成都大帶寬,成都機柜租用,四川老牌IDC服務(wù)商
★ 控制請求服務(wù)器策略:是忽略資源的緩存策略的情況下額外強制請求服務(wù)器的意思。
★ 檢查存儲的頁面較新版本
1.每次訪問網(wǎng)頁時
不管是否有緩存、資源狀態(tài)是否過期,都會再次請求服務(wù)器。
2.每次啟動Internet Explorer時
不管是否有緩存、資源狀態(tài)是否過期,都會再次請求服務(wù)器。
3.自動
大體上和2是一樣的,只是對于圖片的策略有點不同。
4.從不
完全按照資源的緩存策略來請求服務(wù)器。
★ F5 刷新:請求服務(wù)端,但是會根據(jù)和服務(wù)器對比文件來確定是否下載
★ Ctrl + F5刷新:一定會去服務(wù)器下載。
二、緩存控制策略
★Last-Modified/If-Modified-Since要配合Cache-Control使用,Etag/If-None-Match也要配合Cache-Control使用。
ps: 分布式系統(tǒng)里多臺機器間文件的last-modified必須保持一致,以免負載均衡到不同機器導(dǎo)致比對失敗
分布式系統(tǒng)盡量關(guān)閉掉Etag(每臺機器生成的etag都會不一樣)
★HTML通過meta的http-equiv屬性控制瀏覽器緩存策略:通過設(shè)置Pragma和Cache-control和expires控制
ps:只能控制html的緩存策略,不能控制css/js/圖片的緩存策略。
Cache-control的max-age和expires同時存在,那么先處理max-age。
Cache-control指定了no-cache后,max-age和expires。
Pragma: http 1.0 IE瀏覽器才識別,請求頭中不會體現(xiàn),但是確實有效果
Cache-control: http 1.1
三、Nginx設(shè)置瀏覽器緩存
★Nginx設(shè)置瀏覽器緩存:可以在http 、server、location節(jié)點中添加??梢栽O(shè)置各種資源的緩存策略,不僅僅是HTML。而節(jié)點只針對HTML
#add_header Cache-Control no-cache; #add_header Cache-Control private; add_header Cache-Control max-age=7200; if ($request_filename ~* ^.*?\.(ico|jpeg|gif|jpg|png|woff)$){ expires 7d; } if ($request_filename ~* ^.*?\.(js|css)$){ expires 7d; } if ($request_filename ~* ^.*?\.(html|htm)$){ expires 3d; }
★Nginx中的配置會覆蓋HTML的http-equiv="Cache-control"配置。
但是如果HTML中的加了下面3個標簽,瀏覽器端效果還是只能no-cache。(從效果上來看:Nginx的Cache-control配置無效)
因為Nginx的Cache-control配置只是覆蓋了Cache-control(如果html加的是后面兩個標簽,Nginx還是有效的),而Pragma仍然起著作用。
總結(jié)
以上所述是小編給大家介紹的Nginx與瀏覽器緩存的處理方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!