HTTP狀態碼經常出現在我們身邊,但是面試的時候被問到,就只會一個404和200,就很尷尬,所以現在做一個整理,加深加深印象。(以下資源皆搬運)
先說說它的分類:
- 1**,代表資訊,表示伺服器收到請求,需要請求者繼續執行操作。
- 2**,代表成功,表示操作成功接受並處理。
- 3**,代表重定向,表示需要進一步的操作已完成請求。
- 4**,代表客戶端錯誤,表示請求語法錯誤或無法完成請求。
- 5**,代表伺服器錯誤,表示伺服器在處理請求的過程中遇到了錯誤。
說完分類,就來具體的介紹每一個狀態碼吧。
1**
100 Continue 繼續,客戶端應繼續其請求。
101 Switching Protocols 切換協議,伺服器根據客戶端的請求切換協議(只能切換到高階的協議,例如,切換到HTTP的新版本協議)。
2**
200 OK 請求成功,一般用於GET和POST請求。
201 Create 已建立,成功請求並建立了新的資源。
202 Accept 已接收,已經接受請求,但未處理完成。
203 Non-Authoritative Information 非授權資訊,請求成功,但返回的mata資訊不在原始伺服器,只是一個副本。
204 No Content 無內容,伺服器成功處理,在未更新網頁的情況下,可確保瀏覽器繼續顯示當前文件。
205 Reset Content 重置內容,伺服器處理成功,使用者終端(如:伺服器)應重置文件檢視,可通過此返回碼清除瀏覽器的表單域。
206 Partial Content 部分內容,伺服器成功處理了部分GET請求。
3**
300 Multiple Choices 多種選擇,請求的資源可包括多個位置,相應可返回一個資源特徵與地址的列表用於使用者終端(例如:瀏覽器)選擇。
301 Moved Permanently 永久移動,請求的資源已被永久移動到新URL,返回資訊會包括新的URL,瀏覽器會自動定向到新URL,今後任何新的請求都應使用新URL代替。
302 Found 臨時移動,與301類似,但是資源只是臨時被移動,客戶端應繼續使用原URL。 303 See Other 檢視其它地址,與301類似,使用GET和POST請求檢視。
304 Not Modified 未修改,所請求資源未修改,伺服器返回此狀態碼時,不會返回任何資源。客戶端通常會快取訪問過的資源,通過提供一個頭資訊指出客戶端希望只返回在指定日期之後修改的資源。
305 Use Proxy 使用代理,所請求的資源必須通過代理訪問。
306 Unused 已經被廢除的HTTP狀態碼。
307 Temporary Redirect 臨時重定向,與302類似,使用GET請求重定向。 400 Bad Request 客戶端請求的語法錯誤,伺服器無法理解。
4**
401 Unauthorized 請求要求使用者的身份認證。
402 暫無
403 Forbidden 伺服器理解客戶端的請求,但是拒絕執行該請求。
404 Not Found 伺服器無法根據客戶端的請求找到資源(網頁)。通過此程式碼,網站設計人員可設定“你所請求的資源無法找到”的個性頁面。
405 Methods Not Allowed 客戶端請求的方法被禁止。
406 Not Acceptable 伺服器無法根據客戶端請求的內容特性完成請求。
407 Proxy Authentication Require 請求要求代理的身份認證。與401類似,但請求者應該使用代理授權。 408 Request Time-out 伺服器等待客戶端傳送的請求事件過長,超時。
409 Conflict 伺服器完成客戶端的PUT請求是可能返回此程式碼,伺服器處理請求是發生了衝突。
410 Gone 客戶端請求的資源已經不存在,410不等同404,如果資源以前有,現在被永久刪除了,可使用410,網站設計人員可通過301程式碼重新指定資源的新位置。
411 Length Required 伺服器無法處理客戶端傳送的不帶Content-length的請求資訊。
412 Precondition Failed 客戶端請求資訊的先決條件錯誤。
413 Request Entity Too Large 由於請求的實體過大,伺服器無法處理,因此拒絕請求。為防止客戶端的連續請求,伺服器可能會關閉連線。如果只是伺服器暫時無法處理,則會包含一個Retry-After的響應資訊。
414 Request-URI Too Large 請求的URI過長(URI通常為網址),伺服器無法處理 。
415 Unsupported Media Type 伺服器無法處理請求附帶的媒體格式 。
416 Requested range not satisfiable 客戶端請求的範圍無效 。
417 Expectation Failed 伺服器無法滿足Expect的請求頭資訊。
5**
500 Internal Server Error 伺服器內部錯誤,無法完成請求。
501 Not Implemented 伺服器不支援請求的功能,無法完成請求。
502 Bad Gateway 充當閘道器或代理的伺服器,從遠端伺服器接受到了一個無效的請求。
503 Service Unavailable 由於超載或系統維護,伺服器暫時的無法處理客戶端的請求。延時的長度可包含在伺服器的Retry-After頭資訊中。
504 Gateway Time-out 充當閘道器或代理的伺服器,未及時從遠端伺服器獲取請求。
505 HTTP Version not supported 伺服器不支援請求的HTTP協議的版本,無法完成處理。