HTTP狀態碼301和302的區別詳解

2021-10-08 03:15:07 字數 1344 閱讀 7889

http狀態碼中,301和302都是網頁重定向跳轉,但是兩者的使用場景和效果是不一樣的,不認真學習很容易搞混,下面我對自己學習的結果做簡單總結。

我們先說301永久重定向。

301狀態碼是永久重定向(moved permanently),表示所請求的資源已經永久地轉移到新的位置,這包含網域名稱的改變或者是資源路徑的改變。

抓取乙個301重定向的資料報如下,內容如下:

使用burp抓取,也可以看到location欄位,即重定向後的位置

對於301重定向的使用沒有規定,即使很短時間的更換資源位置資訊,也可以使用301重定向。

302狀態碼是臨時重定向(move temporarily),表示所請求的資源臨時地轉移到新的位置,一般是24到48小時以內的轉移會用到302。

對於302的使用是有規範的,只有在資源位置24到48小時內臨時轉移時,才可以使用302重定向,超過就必須使用301永久重定向。

雖然說短時間的資源位置轉移會用到302臨時重定向,但是並不提倡使用302,盡量使用301永久重定向,因為302會有安全隱患,具體見下文。

在剛學習這部分內容時,就會有這樣的疑問:為什麼會出現重定向這個操作?

查詢得知:

這就是為什麼需要重定向。

至於何時會重定向,結合網上給出的,大致有以下幾種情況:

在這幾中情況中,一般只有原路徑或網域名稱存在的情況下可能會使用到302,其餘的都推薦使用301

通過上文已知,301和302都是重定向,但是有臨時和永久的區別,可具體的區別呢?如何選擇301或302?

對於區別,百科是這樣解釋的:

根據上述以及查詢實踐,我的理解是:

一般都是通過第一種方式,讓服務端來進行相關操作。

而且,302的臨時重定向不會將原搜尋流量匯入到新的位址,但是301會,這對於搜尋排名有很大用處。

知道了兩者的實際區別,那麼如何選擇也就視情況而定了,但是一般不推薦使用302,因為會有許多風險。

302的風險大致有以下幾種:

對於301和302的學習暫時到此。

http狀態碼301和302

官方的比較簡潔的說明 301 redirect 301 代表永久性轉移 permanently moved 302 redirect 302 代表暫時性轉移 temporarily moved ps 這裡也順帶記住了兩個比較相近的英語單詞 permanently temporarily 詳細來說,3...

複習HTTP狀態碼 301和302

一,http狀態碼 1xx 資訊狀態碼 接受的請求正在處理。2xx 成功狀態碼 請求正常處理完畢。3xx 重定向狀態碼 需要進行附加操作以完成請求。4xx 客戶端錯誤狀態碼 伺服器無法處理請求。5xx 服務端錯誤狀態碼 伺服器處理請求出錯。二,詳解301和302跳轉的區別 301 永久重定向。表示請...

HTTP狀態碼301和302的區別

官方解釋 301 代表永久性轉移 302 代表暫時性轉移 共同點 301和302狀態碼都表示重定向,就是說瀏覽器在拿到伺服器返回的這個狀態碼後會自動跳轉到乙個新的url位址,這個位址可以從響應location首部中獲取 使用者看到的效果就是他輸入的位址a瞬間變成了另乙個位址b 這是他們的共同點 不同...