我們知道在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緩存的則會保留之前的樣式。
原創文章,歡迎轉載,轉載請注明出處!