SpringMVC的緩存對靜態資源的影響 304 Not Modified


  我們知道在springmvc的配置中,可以添加緩存,但是緩存到底對靜態資源有什么影響?

 

測試

沒有添加緩存
  <mvc:resources mapping="/image/**" location="/WEB-INF/"/>

 

添加了緩存
  <mvc:resources mapping="/image/**" location="/WEB-INF/" cache-period="2592000"/>

 

結論

  網站第一次加載圖片圖片成功的狀態是200,但是第二次加載圖片的時候,如果沒有使用緩存,則是 200 OK(from cache),而使用了緩存的則是 304 Not Modified

 

200與304兩種狀態有什么區別

 

  200 OK (from cache) 是瀏覽器沒有跟服務器確認,直接用了瀏覽器緩存;而 304 Not Modified 是瀏覽器和服務器多確認了一次緩存有效性,再用的緩存
  200 OK (from cache) 是直接點擊鏈接訪問,輸入網址按回車訪問也能觸發;而 304 Not Modified 是刷新頁面時觸發,或是設置了長緩存、但 Entity Tags 沒有移除時觸發。

  參考: https://www.bokeyy.com/post/200-ok-from-cache-vs-304-not-modified.html

 

  個人覺得200 的緩存並沒有特別的好,比如我修改了css 樣式,200緩存的能夠馬上修改,並沒有緩存的效果;而304緩存的則會保留之前的樣式。

 

原創文章,歡迎轉載,轉載請注明出處!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM