2016-11-24 74 views
1

我們有一個用例,我們將圖像存儲在CDN中。比方說,我們正在緩存中存儲a.jpg,如果用戶上傳了較新版本的文件,則會刷新緩存並覆蓋a.jpg。現在的挑戰是瀏覽器可能已經緩存了文件。既然我們不能刷新瀏覽器緩存圖像,我們正在考慮用下述方法2中的一種:我們是否可以使用etags從CDN獲取最新版本的圖像

  1. 附加一個版本a_v1.jpg,a_v2.jpg(版本號是校驗),這將消除需要刷新瀏覽器和CDN緩存。我在互聯網上發現了很多關於這方面的文檔,所以很多人都在使用它。
  2. 使用文件的etag查找消除瀏覽器中的陳舊緩存。我發現CDN支持etags,但是我沒有發現etag用於圖像的文獻。

請問您可以分享一下關於使用etag標頭緩存清除的想法嗎?這是一個很好的習慣嗎?

回答

0

以及我不會建議etag。這可能有其優勢,但也有其挫折。假設你運行兩臺服務器,然後運行etag,這些服務器提供的內容可能會發生變化。

我建議的最好的事情是控制瀏覽器是什麼緩存和多久。 我的意思是當發送從cdn到客戶端瀏覽器的響應時發送過期標題說5分鐘TTL。這種方式瀏覽器將尊重有效頭。一旦過期,瀏覽器將在刷新頁面時向cdn發送新的請求。

相關問題