HTTP協議之3XX狀態碼

2021-09-09 05:26:54 字數 1104 閱讀 4800

3xx系列狀態碼中302、303、307都是臨時重定向,下面來說如何區分

http1.1 3xx狀態表

狀態碼備註

301moved permanently

302found

303see other

304not modified

307temporary redirect

永久重定向

http協議1.1 引用

臨時重定向,這裡注意乙個細節。

當請求方法是post方法的時候,需要使用者確認才可以重定向到新的uri。比如彈框詢問使用者是否重定向到新的位址

但是多數瀏覽器實際實現的時候並沒有遵循這一條,所以才在http1.1中引入了303和307兩個狀態碼。302為了相容老版本也保留了下來

在http協議1.0中是沒有這兩個狀態碼的。在http1.1中為了解決上個版本出現的協議規定與瀏覽器實現的歧義問題,引入了303和307兩個狀態碼。以此來將1.0協議的規定和實際瀏覽器實現這兩種情況拆開。

符合1.0版本時,瀏覽器對於302狀態碼的實際實現。

無論請求方法是get或者post,遇到303都直接重定向。

符合1.0版本時,協議對302狀態碼的紙面規定。

當請求方法是post方法的時候,需要使用者確認才可以重定向到新的uri

304的含義不是重定向。

304表示使用者查詢的資源存在,但是不滿足請求需要的條件。

一般出現304的情況,請求首部中包含if-***這樣的條件請求,當判斷條件為假的時候就會返回304。

例如:

if-modifed-since: mon, 14 jan 2019 00:00:00 gmt

此欄位指定需要的資源在設定的時間前是否有更新過,如果沒有更新則返回304。

此類字段還有很多,詳情請檢視http協議 rfc

HTTP協議之響應狀態碼

1 請求收到,繼續處理 100 客戶必須繼續發出請求 101 客戶要求伺服器根據請求轉換http協議版本 2 操作成功收到,分析 接受 200 響應成功 201 提示知道新檔案的url 202 接受和處理 但處理未完成 203 返回資訊不確定或不完整 204 請求收到,但返回資訊為空 205 伺服器...

HTTP協議 狀態碼

2xx 成功 200 請求成功,請求的資料隨之返回。3xx 重定向 301 永久性重定向。302 暫時行重定向。304 未修改 305 使用 307 臨時重定向 4xx 請求錯誤 401 未授權 當前請求需要使用者驗證。403 禁止 伺服器拒絕請求。404 未找到 請求失敗,請求的資料在伺服器上未發...

http協議狀態碼

http狀態返回 1xx 臨時響應 表示臨時響應並需要請求者繼續執行操作的狀態 http狀態返回 說明 100 繼續 請求者應當繼續提出請求。伺服器返回此 表示已收到請求的第一部分,正在等待其餘部分。101 切換協議 請求者已要求伺服器切換協議,伺服器已確認並準備切換。http狀態返回 2xx 成功...