2009-11-04 215 views
13

當在Web瀏覽器中按下後退按鈕時,是否從瀏覽器歷史記錄發送獲取請求或服務的默認操作?後退按鈕(瀏覽器行爲)

如果它的瀏覽器特定,那麼Internet Explorer和Firefox的默認操作是什麼?

+2

好問題,添加註釋記得讀答案。 – 2009-11-04 15:24:34

回答

16

非正式回答

如果前一頁是GET request,頁面通常是從瀏覽器的緩存中提取,除非頁面上的緩存時間已到期(此過期時間由網絡管理員設定的頁面),或另一個因素導致瀏覽器相信信息不夠新鮮。

如果上一頁是POST request,瀏覽器通常會詢問您是否希望重新發送信息並從服務器獲取頁面。

正式回答

這是覆蓋在該瀏覽器應執行HTTP Protocol specificationSection 13

具體地說,13.10指出:

一些HTTP方法必須使高速緩存 無效的實體。這是 要麼是由 Request-URI引用的實體,要麼是由Location或 Content-Location標頭(如果存在)引用的實體。 這些方法是:

- PUT 
    - DELETE 
    - POST 

其他類型的請求(例如,GET)的,可以被高速緩存。如果您需要血淋淋的細節,請仔細閱讀完整的規範,但規範的設置方式允許瀏覽器儘可能使用緩存。

1

我只是測試這在Chrome和Firefox的樂趣

當我按下回在Chrome瀏覽器谷歌搜索頁面上,沒有請求發生。瀏覽器從緩存中拉出。

在Firefox中,我實際上得到了一個204 No Content,路徑是Google的http://clients1.google.ca/generate_204

,我發現這個使用Charles代理,因此它沒有什麼科學的:)