當(dāng)瀏覽者訪問一個網(wǎng)頁時,瀏覽者的瀏覽器會向網(wǎng)頁所在服務(wù)器發(fā)出請求。
當(dāng)瀏覽器接收并顯示網(wǎng)頁前,此網(wǎng)頁所在的服務(wù)器會返回一個包含HTTP狀態(tài)碼的信息頭(server header)用以響應(yīng)瀏覽器的請求。
HTTP狀態(tài)碼分類
HTTP狀態(tài)碼共分為5種類型:
- 1** 信息,服務(wù)器收到請求,需要請求者繼續(xù)執(zhí)行操作
- 2** 成功,操作被成功接收并處理
- 3** 重定向,需要進一步的操作以完成請求
- 4** 客戶端錯誤,請求包含語法錯誤或無法完成請求
- 5** 服務(wù)器錯誤,服務(wù)器在處理請求的過程中發(fā)生了錯誤
歡迎關(guān)注筆者,優(yōu)質(zhì)文章都在這里等你。
HTTP狀態(tài)碼由來
從HTTP狀態(tài)碼分類,我們可以看到它都是由三位組成,下面我們來看下究竟是為什么。
HTTP狀態(tài)碼(英語:HTTP Status Code)是用以表示網(wǎng)頁服務(wù)器超文本傳輸協(xié)議響應(yīng)狀態(tài)的3位數(shù)字代碼。
它是由 RFC 2616 規(guī)范定義的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 與 RFC 4918 等規(guī)范擴展。
所有狀態(tài)碼的第一個數(shù)字代表了響應(yīng)的五種狀態(tài)之一。
所示的消息短語是典型的,但是可以提供任何可讀取的替代方案。 除非另有說明,狀態(tài)碼是HTTP / 1.1標(biāo)準(zhǔn)(RFC 7231)的一部分。
從這可以看到為什么是由三位組成,其實他是根據(jù)RFC 2616規(guī)范定義的,當(dāng)然大家應(yīng)該知道,HTTP /1.1協(xié)議就是該規(guī)范的產(chǎn)物,所以我們可以說狀態(tài)碼由三位組成就是HTTP / 1.1標(biāo)準(zhǔn)的一部分。
互聯(lián)網(wǎng)號碼分配局
根據(jù)協(xié)議規(guī)定,HTTP狀態(tài)碼的官方注冊表由互聯(lián)網(wǎng)號碼分配局(Internet Assigned Numbers Authority)維護。
互聯(lián)網(wǎng)號碼分配局是全球最早的Internet機構(gòu)之一,其歷史可以追溯到1970年。
今天,互聯(lián)網(wǎng)號碼分配局被負責(zé)協(xié)調(diào)互聯(lián)網(wǎng)號碼分配局責(zé)任范圍的非營利機構(gòu)ICANN(Internet Corporation for Assigned Names and Numbers,互聯(lián)網(wǎng)名稱與數(shù)字地址分配機構(gòu))掌管。
互聯(lián)網(wǎng)號碼分配局(The Internet Assigned Numbers Authority,IANA)是負責(zé)協(xié)調(diào)一些使Internet正常運作的機構(gòu)。
同時,由于Internet已經(jīng)成為一個全球范圍的不受集權(quán)控制的全球網(wǎng)絡(luò),為了使網(wǎng)絡(luò)在全球范圍內(nèi)協(xié)調(diào),存在對互聯(lián)網(wǎng)一些關(guān)鍵的部分達成技術(shù)共識的需要,而這就是IANA的任務(wù)。
更準(zhǔn)確地說,互聯(lián)網(wǎng)號碼分配局分配和維護在互聯(lián)網(wǎng)技術(shù)標(biāo)準(zhǔn)(或者稱為協(xié)議)中的唯一編碼和數(shù)值系統(tǒng)。
互聯(lián)網(wǎng)號碼分配局是INTERNET域名系統(tǒng)的最高權(quán)威機構(gòu),掌握著INTERNET域名系統(tǒng)的設(shè)計、維護及地址資源分配等方面的絕對權(quán)力。
HTTP狀態(tài)碼列表:
HTTP狀態(tài)碼列表狀態(tài)碼狀態(tài)碼英文名稱中文描述
100 Continue繼續(xù)。
客戶端應(yīng)繼續(xù)其請求101Switching Protocols切換協(xié)議。服務(wù)器根據(jù)客戶端的請求切換協(xié)議。只能切換到更高級的協(xié)議,例如,切換到HTTP的新版本協(xié)議
200 OK請求成功。
一般用于GET與POST請求
201 Created已創(chuàng)建。
成功請求并創(chuàng)建了新的資源
202 Accepted
已接受。已經(jīng)接受請求,但未處理完成
203 Non-Authoritative Information
非授權(quán)信息。請求成功。但返回的meta信息不在原始的服務(wù)器,而是一個副本204No Content無內(nèi)容。服務(wù)器成功處理,但未返回內(nèi)容。
在未更新網(wǎng)頁的情況下,可確保瀏覽器繼續(xù)顯示當(dāng)前文檔
205 Reset Content
重置內(nèi)容。服務(wù)器處理成功,用戶終端(例如:瀏覽器)應(yīng)重置文檔視圖。可通過此返回碼清除瀏覽器的表單域
206 Partial Content
部分內(nèi)容。服務(wù)器成功處理了部分GET請求
300 Multiple Choices多種選擇。
請求的資源可包括多個位置,相應(yīng)可返回一個資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇
301 Moved Permanently永久移動。
請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。今后任何新的請求都應(yīng)使用新的URI代替
302 Found臨時移動。
與301類似。但資源只是臨時被移動。客戶端應(yīng)繼續(xù)使用原有URI303See Other查看其它地址。與301類似。使用GET和POST請求查看
304 Not Modified未修改。
所請求的資源未修改,服務(wù)器返回此狀態(tài)碼時,不會返回任何資源。客戶端通常會緩存訪問過的資源,通過提供一個頭信息指出客戶端希望只返回在指定日期之后修改的資源
305 Use Proxy使用代理。
所請求的資源必須通過代理訪問
306 Unused
已經(jīng)被廢棄的HTTP狀態(tài)碼
307 Temporary Redirect臨時重定向。
與302類似。使用GET請求重定向
400 Bad Request
客戶端請求的語法錯誤,服務(wù)器無法理解
401 Unauthorized
請求要求用戶的身份認證
402 Payment Required
保留,將來使用
403 Forbidden
服務(wù)器理解請求客戶端的請求,但是拒絕執(zhí)行此請求
404 Not Found
服務(wù)器無法根據(jù)客戶端的請求找到資源(網(wǎng)頁)。通過此代碼,網(wǎng)站設(shè)計人員可設(shè)置"您所請求的資源無法找到"的個性頁面
405 Method Not Allowed
客戶端請求中的方法被禁止
406Not Acceptable
服務(wù)器無法根據(jù)客戶端請求的內(nèi)容特性完成請求
407 Proxy Authentication Required
請求要求代理的身份認證,與401類似,但請求者應(yīng)當(dāng)使用代理進行授權(quán)
408 Request Time-out
服務(wù)器等待客戶端發(fā)送的請求時間過長,超時
409 Conflict
服務(wù)器完成客戶端的 PUT 請求時可能返回此代碼,服務(wù)器處理請求時發(fā)生了沖突410Gone客戶端請求的資源已經(jīng)不存在。
410 不同于404
如果資源以前有現(xiàn)在被永久刪除了可使用410代碼,網(wǎng)站設(shè)計人員可通過301代碼指定資源的新位置
411 Length Required
服務(wù)器無法處理客戶端發(fā)送的不帶Content-Length的請求信息
412 Precondition Failed
客戶端請求信息的先決條件錯誤
413 Request Entity Too Large
由于請求的實體過大,服務(wù)器無法處理,因此拒絕請求。為防止客戶端的連續(xù)請求,服務(wù)器可能會關(guān)閉連接。如果只是服務(wù)器暫時無法處理,則會包含一個Retry-After的響應(yīng)信息
414 Request-URI Too Large
請求的URI過長(URI通常為網(wǎng)址),服務(wù)器無法處理415 Unsupported Media Type服務(wù)器無法處理請求附帶的媒體格式
416 Requested range not satisfiable
客戶端請求的范圍無效417Expectation Failed服務(wù)器無法滿足Expect的請求頭信息
500 Internal Server Error
服務(wù)器內(nèi)部錯誤,無法完成請求
501 Not Implemented
服務(wù)器不支持請求的功能,無法完成請求
502 Bad Gateway
作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請求時,從遠程服務(wù)器接收到了一個無效的響應(yīng)
503 Service Unavailable
由于超載或系統(tǒng)維護,服務(wù)器暫時的無法處理客戶端的請求。延時的長度可包含在服務(wù)器的Retry-After頭信息中
504 Gateway Time-out
充當(dāng)網(wǎng)關(guān)或代理的服務(wù)器,未及時從遠端服務(wù)器獲取請求
505 HTTP Version not supported
服務(wù)器不支持請求的HTTP協(xié)議的版本,無法完成處理






