觸屏版
全國服務熱線:0571-87205688
登錄
注冊
客戶中心
關(guān)注云客
這個圖片HTTP頭信息的設(shè)置是這樣的:
但是因為一些已知的BUG,我們在IE7和IE8中把兩個屬性替換成了下面這樣:
當瀏覽器發(fā)送請求給圖片時候,將會發(fā)生兩件事情:
1.因為瀏覽器從來沒有打開過這張圖片,所以沒有額外的頭信息,服務器將返回一個狀態(tài)碼:200 Success 接著返回圖片數(shù)據(jù)給瀏覽器,之后瀏覽器會緩存文件的HTTP頭信息當中的Last-Modified(文件最后修改時間)和ETag(被請求變量的實體值)2.瀏覽器檢查if-none-match或者if-modified-since頭信息,如果之前有打開過.將會不加載圖片數(shù)據(jù)直接返回Status:304 Not Modified(沒有更新).同時我們把Last-Moidified頭信息用$header["if-modified-since"]替換掉$now(),所以每次返回的內(nèi)容都將是一樣的.
現(xiàn)在剩下問題是我們在哪里應用這張圖片,最后我們決定在Facebook的搜索條下面包含一個img標簽,這樣每次facebook加載的時候都會渲染這張圖片.在整個頁面重新加載的時候,資源將會根據(jù)緩存的頭信息進行加載.這將是最好的方式來測試我們的想法.
在確保endpoint可以正常記錄請求、圖片標簽可以正常訪問了之后,我們正式開始了這次研究!
研究結(jié)果:
在數(shù)周的數(shù)據(jù)收集之后,我們決定來研究一下7天最后比較有價值的數(shù)據(jù).數(shù)據(jù)的統(tǒng)計結(jié)果依舊讓我們感到吃驚:依舊有的請求是空緩存的.為了讓數(shù)據(jù)看起來更清晰,我們分隔了PC和手機的統(tǒng)計數(shù)據(jù),但是數(shù)據(jù)依舊差不多:PC有而手機端有是空緩存的.這個結(jié)果不太符合我們預期,所以我們更加深入的研究了這個數(shù)據(jù).
把PC端的瀏覽器分開來統(tǒng)計可能更加清楚:
根據(jù)上面一周的數(shù)據(jù)來看:用戶用chrome和opera緩存的幾率更大.你可能注意到你這個圖表中并沒有firefox瀏覽器的數(shù)據(jù),那是因為firefox 31版本以及更早期的版本在我們的統(tǒng)計中有80%的緩存概率,但是在32版本和更高的版本當中有很明顯的下降.那是因為firefox的緩存策略和我們的統(tǒng)計方法有點沖突(),所以我們就干脆去掉了firefox瀏覽器的數(shù)據(jù)統(tǒng)計.
評論(0人參與,0條評論)
發(fā)布評論
最新評論