當在Web瀏覽器中按下後退按鈕時,是否從瀏覽器歷史記錄發送獲取請求或服務的默認操作?後退按鈕(瀏覽器行爲)
如果它的瀏覽器特定,那麼Internet Explorer和Firefox的默認操作是什麼?
當在Web瀏覽器中按下後退按鈕時,是否從瀏覽器歷史記錄發送獲取請求或服務的默認操作?後退按鈕(瀏覽器行爲)
如果它的瀏覽器特定,那麼Internet Explorer和Firefox的默認操作是什麼?
非正式回答
如果前一頁是GET request,頁面通常是從瀏覽器的緩存中提取,除非頁面上的緩存時間已到期(此過期時間由網絡管理員設定的頁面),或另一個因素導致瀏覽器相信信息不夠新鮮。
如果上一頁是POST request,瀏覽器通常會詢問您是否希望重新發送信息並從服務器獲取頁面。
正式回答
這是覆蓋在該瀏覽器應執行HTTP Protocol specification的Section 13。
具體地說,13.10指出:
一些HTTP方法必須使高速緩存 無效的實體。這是 要麼是由 Request-URI引用的實體,要麼是由Location或 Content-Location標頭(如果存在)引用的實體。 這些方法是:
- PUT - DELETE - POST
其他類型的請求(例如,GET)的,可以被高速緩存。如果您需要血淋淋的細節,請仔細閱讀完整的規範,但規範的設置方式允許瀏覽器儘可能使用緩存。
我只是測試這在Chrome和Firefox的樂趣
當我按下回在Chrome瀏覽器谷歌搜索頁面上,沒有請求發生。瀏覽器從緩存中拉出。
在Firefox中,我實際上得到了一個204 No Content
,路徑是Google的http://clients1.google.ca/generate_204。
,我發現這個使用Charles代理,因此它沒有什麼科學的:)
好問題,添加註釋記得讀答案。 – 2009-11-04 15:24:34