2014-01-23 31 views

回答

3

並非所有的3xx回覆都可以自動重定向。

300在響應正文中提供了多個URL,而不是在Location標頭中。客戶/用戶必須決定接下來要檢索哪一個。

301302303,並307爲只下一個URL是已知的Location。否則,客戶端/用戶必須決定下一步該做什麼。

304不是重定向。它是對條件GET的響應,所請求的內容自上次滿足請求的條件以來未發生變化。

305總是提供一個Location到需要連接的代理。

306不再使用。

1

如果你看一下HTTP spec上的一些3xx狀態碼,其中一些只應該提供Location頭。

在收到此類HTTP響應後,客戶端瀏覽器如何知道重定向?

它沒有。在這種情況下,客戶需要處理該做什麼。

+0

那麼你能解釋一下瀏覽器最終如何「獲取」某處嗎?它是否從JavaScript獲得最終的URL? –

+0

@barakmanos取決於瀏覽器。查看[this](https://bugzilla.mozilla.org/show_bug.cgi?id=742508)bugzilla問題。 –