2010-01-14 44 views
12

我正試圖優化網站的加載時間。我所做的一件事是爲靜態內容設置一個far-futures過期標題,以便它們被緩存(如Yahoo所述)。但是,即使它們被緩存,瀏覽器仍然會發送一個請求並獲取該資源的304(未修改)響應。遠期過期標頭和HTTP 304

我意識到304響應非常小,可能只有最小的性能影響,但是有沒有辦法使瀏覽器不再發送請求,並且始終使用該資源的緩存?

+1

這不是由瀏覽器決定嗎? – danben 2010-01-14 04:08:13

回答

18

如果您同時發送etags和過期,您可能需要嘗試turning off ETags。有些人suggest turning off eTags,特別是如果你有負載平衡器。另外,請注意,當您按下頁面上的重新加載時,Firefox將重新檢查所有資源。這些將回來與304的。如果按下shift-reload,它將重新請求所有沒有etags的資源。因此,請勿使用刷新/重新加載按鈕來測試您的上次修改/ etag設置。

+3

啊,那是我的問題!我使用瀏覽器刷新來檢查訪問日誌。當我使用普通鏈接訪問它時,304不見了。謝謝! – 2010-01-14 05:15:27

+2

我也瀏覽器刷新失敗。感謝您分享這一點! – nnevala 2010-11-06 18:14:14