Nginx與瀏覽器緩存的處理方法
一、瀏覽器對緩存的處理:Internet選項
★ 控制請求服務器策略:是忽略資源的緩存策略的情況下額外強制請求服務器的意思。
★ 檢查存儲的頁面較新版本
1.每次訪問網(wǎng)頁時
不管是否有緩存、資源狀態(tài)是否過期,都會再次請求服務器。
2.每次啟動Internet Explorer時
不管是否有緩存、資源狀態(tài)是否過期,都會再次請求服務器。
3.自動
大體上和2是一樣的,只是對于圖片的策略有點不同。
4.從不
完全按照資源的緩存策略來請求服務器。
★ F5 刷新:請求服務端,但是會根據(jù)和服務器對比文件來確定是否下載
★ Ctrl + F5刷新:一定會去服務器下載。
二、緩存控制策略
★Last-Modified/If-Modified-Since要配合Cache-Control使用,Etag/If-None-Match也要配合Cache-Control使用。
ps: 分布式系統(tǒng)里多臺機器間文件的last-modified必須保持一致,以免負載均衡到不同機器導致比對失敗
分布式系統(tǒng)盡量關閉掉Etag(每臺機器生成的etag都會不一樣)
★HTML通過meta的http-equiv屬性控制瀏覽器緩存策略:通過設置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設置瀏覽器緩存
★Nginx設置瀏覽器緩存:可以在http 、server、location節(jié)點中添加。可以設置各種資源的緩存策略,不僅僅是HTML。而<meta http-equiv>節(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仍然起著作用。
<meta http-equiv="Pragma" content="no-cache"/> <meta http-equiv="Cache-control" content="no-cache;max-age=0"/> <meta http-equiv="expires" content="0"/>
總結(jié)
以上所述是小編給大家介紹的Nginx與瀏覽器緩存的處理方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Nginx上配置Basic Authorization登錄認服務證的教程
現(xiàn)在我們所使用的包括社交網(wǎng)絡API等開放平臺授權獲得用戶的用戶名和密碼一般有兩種認證方式,一種是Basic Auth,一種是OAuth,這里我們就來看一下Nginx上配置Basic Authorization登錄認服務證的教程2016-06-06
Debian下搭建Nginx和Tomcat服務器實現(xiàn)負載均衡的方案
這篇文章主要介紹了Debian下搭建Nginx和Tomcat服務器實現(xiàn)負載均衡的方案,其主要思想依然是動靜分離并且以Nginx來進行反向代理這樣的路子,需要的朋友可以參考下2015-12-12
docker nginx實現(xiàn)一個主機部署多個站點操作
這篇文章主要介紹了docker nginx實現(xiàn)一個主機部署多個站點操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11

