2

由於我目前正在開發一個網站,它必須能夠在很大的壓力下執行或多或少的完美操作,並且可以從自動化測試場景切換,我會嘗試簡單的按下在這裏我發現了一個奇怪的觀察谷歌瀏覽器:Google Chrome;刷新不會發送If-Modified-Since標題

如果你這樣做,Chrome瀏覽器會跳過發送If-Modified-F5-幾秒鐘在我最喜歡的瀏覽器,由於標題,Web服務器被迫接你要顯示的頁面,從而導致狀態碼200而不是預期的304

在IE8(可能更早的版本也),這個問題是不是目前

試試這個簡單的頁面:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html,然後用Fiddler緊緊地調查頁面;奇怪吧?

我的問題是;這是由設計,還是從谷歌的錯誤?

回答

2

這可能是一個設計問題。刷新時瀏覽器通常會發送不同的請求;例如,在IE中嘗試點擊CTRL + F5,你應該看到IE會發出無條件的HTTP請求。

您是否在您的響應中發送了適當的HTTP緩存指令,以便不需要驗證其新鮮度? http://www.fiddler2.com/redir/?id=httpperf

+0

所以你說的是,Chrome按設計實現了按下並按住F5時的「CTRL + F5」掛件?這實際上是有道理的,但我不是這種自動無條件的HTTP請求的粉絲。感謝你的回答。 – 2009-10-27 15:58:12

0

你在做Shift-F5或Ctrl-F5嗎?如果是的話,那麼會出現that is by design。否則,它可能是一個錯誤。

+0

我在這裏沒有得到你的答案; SHIFT + F5和CTRL + F5都不會在Chrome中有所作爲,但是無論如何感謝:-) – 2009-10-27 15:59:41