# 錯誤碼說明
HTTP狀態碼(HTTP Status Code)是用以表示網頁服務器HTTP響應狀態的3位數字代碼。它由RFC2616規范定義的,并得到RFC2518、RFC2817、RFC2295、RFC2774、RFC2918等規范擴展。
HTTP狀態碼一共分為五類。狀態碼的第一個數字代表了響應的五種狀態之一。分類如下:
HTTP狀態碼分類分類含義1XX表示消息。這一類型的狀態碼,代表請求已被接受,需要繼續處理。這類響應是臨時響應,只包含狀態行和某些可選的響應頭信息,并以空行結束。2XX表示成功。這一類型的狀態碼,代表請求已成功被服務器接收、理解、并接受。3XX表示重定向。這類狀態碼代表需要客戶端采取進一步的操作才能完成請求。通常,這些狀態碼用來重定向,后續的請求地址(重定向目標)在本次響應的Location域中指明。4XX表示請求錯誤。這類的狀態碼代表了客戶端看起來可能發生了錯誤,妨礙了服務器的處理。除非響應的是一個HEAD請求,否則服務器就應該返回一個解釋當前錯誤狀況的實體,以及這是臨時的還是永久性的狀況。這些狀態碼適用于任何請求方法。瀏覽器應當向用戶顯示任何包含在此類錯誤響應中的實體內容。5XX表示服務器錯誤。這類狀態碼代表了服務器在處理請求的過程中有錯誤或者異常狀態發生,也有可能是服務器意識到以當前的軟硬件資源無法完成對請求的處理。除非這是一個HEAD請求,否則服務器應當包含一個解釋當前錯誤狀態以及這個狀況是臨時的還是永久的解釋信息實體。瀏覽器應當向用戶展示任何在當前響應中被包含的實體。
下面,我們就開始趣解HTTP狀態碼。(少兒不宜,十八歲以下禁止觀看啊。哈哈…)
趣解HTTP狀態碼狀態碼英/中雙解漢語解釋趣解1XX—表示消息。這一類型的狀態碼,代表請求已被接受,需要繼續處理。100Continue/繼續客戶端應當繼續發送請求。人家… 還要…101Switching Protocols/轉換協議服務器已經理解了客戶端的請求,并將通過Upgrade消息頭通知客戶端采用不同的協議來完成這個請求。服務姬傲嬌中102Processing由WebDAV(RFC 2518)擴展的狀態碼,代表處理將被繼續執行。造人中…2XX—表示成功。代表請求已成功被服務器接收、理解、并接受。200OK/正常請求已成功,請求所希望的響應頭或數據體將隨此響應返回。歡迎回來, 主人201Created/已創建表示服務器在請求的響應中建立了新文檔;應在定位頭信息中給出它的URL。 202Accepted/接受服務器已接受請求,但尚未處理完。 203Non-Authoritative Information/非官方信息表示文檔被正常的返回,但是由于正在使用的是文檔副本所以某些響應頭信息可能不正確。俺是小三204No Content/無內容表示服務器成功處理了請求,但不需要返回任何實體內容,并且希望返回更新了的元信息。在并沒有新文檔的情況下,確保瀏覽器繼續顯示先前的文檔。小姐呢?!怎么沒有?205Reset Content/重置內容意思是雖然沒有新文檔但瀏覽器要重置文檔顯示。這個狀態碼用于強迫瀏覽器清除表單域。先生,給你換個小姐?206Partial Content/局部內容該請求必須包含Range頭信息來指示客戶端希望得到的內容范圍,并且可能包含If-Range來作為請求條件。 207Multi-Status/多種狀態由WebDAV(RFC 2518)擴展的狀態碼,代表之后的消息體將是一個XML消息,并且可能依照之前子請求數量的不同,包含一系列獨立的響應代碼。搞個NP。嘿嘿…3xx—表示重定向。代表需要客戶端采取進一步的操作才能完成請求。300Multiple Choices/多重選擇表示被請求的文檔可以在多個地方找到,并將在返回的文檔中列出來。先生,請點菜。301Moved Permanently/永久遷移指所請求的文檔在別的地方;文檔新的URL會在定位響應頭信息中給出。瀏覽器會自動連接到新的URL。人家搬家了302Found/找到與301有些類似,只是定位頭信息中所給的URL應被理解為臨時交換地址而不是永久的。親,先等下啦,人家先去洗白白嘛。。。303See Other/參見其他信息和 301、302 相似,只是如果最初的請求是 POST,那么新文檔(在定位頭信息中給出)藥用 GET 找回。 304Not Modified/沒有修改如果客戶端發送了一個帶條件的GET請求且該請求已被允許,而文檔的內容(自上次訪問以來或者根據請求的條件)并沒有改變,則服務器應當返回這個狀態碼。304響應禁止包含消息體,因此始終以消息頭后的第一個空行結尾。好久不見,還是風味猶存啊。305Use Proxy/使用代理表示所請求的文檔要通過定位頭信息中的代理服務器獲得。泡妞是需要拉皮條的。306Switch Proxy/切換代理在最新版的規范中,306狀態碼已經不再被使用。這店里的雞太差了,換個。307Temporary Redirect/臨時重定向在響應為303時按照GET和POST請求轉向;而在307響應時則按照GET請求轉向而不是POST請求。不是這里, 換個地方啦4xx—表示請求錯誤。代表客戶端可能發生了錯誤,妨礙服務器的處理。400Bad Request/錯誤請求指出客戶端請求中的語法錯誤。不要把奇怪的東西給人家嘛401Unauthorized/未授權表示客戶端在授權頭信息中沒有有效的身份信息時訪問受到密碼保護的頁面。對上對聯,才讓進洞房。403Forbidden/禁止表示除非擁有授權否則服務器拒絕提供所請求的資源。這里不可以啦!404Not Found/未找到告訴客戶端所給的地址無法找到任何資源。這里什么都沒有 — 人家是平的啦405Method Not Allowed/方法未允許表示請求方法(GET, POST, HEAD, PUT, DELETE, 等)對某些特定的資源不允許使用。打開方式不對406Not Acceptable/無法訪問表示請求資源的MIME類型與客戶端中Accept頭信息中指定的類型不一致。啊啊啊,慢著!!好疼407Proxy Authentication Required/代理服務器認證要求該狀態指出客戶端必須通過代理服務器的認證。 408Request Timeout/請求超時指服務端等待客戶端發送請求的時間過長。 409Conflict/沖突該狀態通常與PUT請求一同使用,409 狀態常被用于試圖上傳版本不正確的文件時。找小姐找到了自己媳婦,然后…410Gone/已經不存在告訴客戶端所請求的文檔已經不存在并且沒有更新的地址。410狀態不同于404,410是在指導文檔已被移走的情況下使用,而404則用于未知原因的無法訪問。那個,你是個好人……411Length Required/需要數據長度表示服務器不能處理請求,除非客戶端發送Content-Length頭信息指出發送給服務器的數據的大小。太長了…進不去412Precondition Failed/先決條件錯誤指出請求頭信息中的某些先決條件是錯誤的。先買房,然后才能結婚。413Request Entity Too Large/請求實體過大告訴客戶端現在所請求的文檔比服務器現在想要處理的要大。 414Request URI Too Long/請求URI過長用于在URI過長的情況時。這里所指的"URI"是指URL中主機、域名及端口號之后的內容。這… 太長了啦415Unsupported Media Type/不支持的媒體格式意味著請求所帶的附件的格式類型服務器不知道如何處理。石女416Requested Range Not Satisfiable/請求范圍無法滿足表示客戶端包含了一個服務器無法滿足的Range頭信息的請求。 417Expectation Failed/期望失敗表示在請求頭Expect中指定的預期內容無法被服務器滿足。沒房,只能分手了。418I’m a teapot/我是杯具本操作碼是在1998年作為IETF的傳統愚人節笑話,并不需要在真實的HTTP服務器中定義。我就是個杯具啊421There are too many connections from your internet address/該IP發起的鏈接過多。從當前客戶端所在的IP地址到服務器的連接數超過了服務器許可的最大范圍。 422Unprocessable Entity/錯誤實體請求格式正確,但是由于含有語義錯誤,無法響應。 423Locked/鎖定當前資源被鎖定。 424Failed Dependency/錯誤關聯由于之前的某個請求發生的錯誤,導致當前請求失敗。 425Unordered Collection/亂序集合在WebDav Advanced Collections草案中定義,但是未出現在《WebDAV順序集協議》(RFC 3658)中。 426Upgrade Required/升級要求客戶端應當切換到TLS/1.0。 428Precondition Required/要求先決條件先決條件是客戶端發送 HTTP 請求時,如果想要請求能成功必須滿足一些預設的條件。主人~~不要這么快么~人家還沒濕呢。429Too Many Requests /太多請求當你需要限制客戶端請求某個服務數量時,該狀態碼就很有用,也就是請求速度限制。主人~~我快要受不了了~431Request Header Fields Too Large /請求頭字段太大某些情況下,客戶端發送 HTTP 請求頭會變得很大,那么服務器可發送 431狀態碼 來指明該問題。主人~~這么大方不進去的~~449Retry With/稍后重試由微軟擴展,代表請求應當在執行完適當的操作后進行重試。 451Unavailable for Legal Reasons/正被審查代表那些因為法律原因而倒下的網站。不要啦我們還沒領證呀5XX—表示服務器錯誤。代表服務器在處理請求的過程中異常狀態發生。500Internal Server Error/內部服務器錯誤服務器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。糟了,身體變得有點奇怪了501Not Implemented/未實現服務器不支持當前請求所需要的某個功能。 502Bad Gateway/錯誤的網關作為網關或者代理工作的服務器嘗試執行請求時,從上游服務器接收到無效的響應。進錯了嗎?503Service Unavailable/服務無法獲得表示服務器由于在維護或已經超載而無法響應。不要…人家還沒準備好啦504Gateway Timeout/網關超時指出接收服務器沒有從遠端服務器得到及時的響應。 505HTTP Version Not Supported/不支持的 HTTP 版本表示服務器并不支持在請求中所標明 HTTP 版本。放開我,放開我,不要中出啊,會懷孕的(但其實是男生,不會懷孕)506Variant Also Negotiates代表服務器存在內部配置錯誤:被請求的協商變元資源被配置為在透明內容協商中使用自己,因此在一個協商處理中不是一個合適的重點。 507Insufficient Storage服務器無法存儲完成請求所必須的內容。都流出來了…509Bandwidth Limit Exceeded服務器達到帶寬限制。這不是一個官方的狀態碼,但是仍被廣泛使用。今天不接客了510Not Extended獲取資源所需要的策略并沒有沒滿足。沒車沒錢還想泡妞?511Network Authentication Required /要求網絡認證在你想使用web服務的時候需要重定向到認證頁面,在走HTTP通信中都是這么做的,主人~~不要蒙住我的眼睛~會好興奮的!~錯誤碼說明
HTTP狀態碼(HTTP Status Code)是用以表示網頁服務器HTTP響應狀態的3位數字代碼。它由 RFC2616 規范定義的,并得到RFC2518、RFC2817、RFC2295、RFC2774、RFC2918等規范擴展。
HTTP狀態碼一共分為五類。狀態碼的第一個數字代表了響應的五種狀態之一。分類如下:
HTTP狀態碼分類
分類
含義
1XX
表示消息。這一類型的狀態碼,代表請求已被接受,需要繼續處理。這類響應是臨時響應,只包含狀態行和某些可選的響應頭信息,并以空行結束。
2XX
表示成功。這一類型的狀態碼,代表請求已成功被服務器接收、理解、并接受。
3XX
表示重定向。這類狀態碼代表需要客戶端采取進一步的操作才能完成請求。通常,這些狀態碼用來重定向,后續的請求地址(重定向目標)在本次響應的Location域中指明。
4XX
表示請求錯誤。這類的狀態碼代表了客戶端看起來可能發生了錯誤,妨礙了服務器的處理。除非響應的是一個HEAD請求,否則服務器就應該返回一個解釋當前錯誤狀況的實體,以及這是臨時的還是永久性的狀況。這些狀態碼適用于任何請求方法。瀏覽器應當向用戶顯示任何包含在此類錯誤響應中的實體內容。
5XX
表示服務器錯誤。這類狀態碼代表了服務器在處理請求的過程中有錯誤或者異常狀態發生,也有可能是服務器意識到以當前的軟硬件資源無法完成對請求的處理。除非這是一個HEAD請求,否則服務器應當包含一個解釋當前錯誤狀態以及這個狀況是臨時的還是永久的解釋信息實體。瀏覽器應當向用戶展示任何在當前響應中被包含的實體。
下面,我們就開始趣解HTTP狀態碼。(少兒不宜,十八歲以下禁止觀看啊。哈哈…)
趣解HTTP狀態碼
狀態碼
英/中雙解
漢語解釋
趣解
1XX—表示消息。這一類型的狀態碼,代表請求已被接受,需要繼續處理。
100
Continue/繼續
客戶端應當繼續發送請求。
人家… 還要…
101
Switching Protocols/轉換協議
服務器已經理解了客戶端的請求,并將通過Upgrade消息頭通知客戶端采用不同的協議來完成這個請求。
服務姬傲嬌中
102
Processing
由WebDAV(RFC 2518)擴展的狀態碼,代表處理將被繼續執行。
造人中…
2XX—表示成功。代表請求已成功被服務器接收、理解、并接受。
200
OK/正常
請求已成功,請求所希望的響應頭或數據體將隨此響應返回。
歡迎回來, 主人
201
Created/已創建
表示服務器在請求的響應中建立了新文檔;應在定位頭信息中給出它的URL。
202
Accepted/接受
服務器已接受請求,但尚未處理完。
203
Non-Authoritative Information/非官方信息
表示文檔被正常的返回,但是由于正在使用的是文檔副本所以某些響應頭信息可能不正確。
俺是小三
204
No Content/無內容
表示服務器成功處理了請求,但不需要返回任何實體內容,并且希望返回更新了的元信息。在并沒有新文檔的情況下,確保瀏覽器繼續顯示先前的文檔。
小姐呢?!怎么沒有?
205
Reset Content/重置內容
意思是雖然沒有新文檔但瀏覽器要重置文檔顯示。這個狀態碼用于強迫瀏覽器清除表單域。
先生,給你換個小姐?
206
Partial Content/局部內容
該請求必須包含Range頭信息來指示客戶端希望得到的內容范圍,并且可能包含If-Range來作為請求條件。
207
Multi-Status/多種狀態
由WebDAV(RFC 2518)擴展的狀態碼,代表之后的消息體將是一個XML消息,并且可能依照之前子請求數量的不同,包含一系列獨立的響應代碼。
搞個NP。嘿嘿…
3xx—表示重定向。代表需要客戶端采取進一步的操作才能完成請求。
300
Multiple Choices/多重選擇
表示被請求的文檔可以在多個地方找到,并將在返回的文檔中列出來。
先生,請點菜。
301
Moved Permanently/永久遷移
指所請求的文檔在別的地方;文檔新的URL會在定位響應頭信息中給出。瀏覽器會自動連接到新的URL。
人家搬家了
302
Found/找到
與301有些類似,只是定位頭信息中所給的URL應被理解為臨時交換地址而不是永久的。
親,先等下啦,人家先去洗白白嘛。。。
303
See Other/參見其他信息
和 301、302 相似,只是如果最初的請求是 POST,那么新文檔(在定位頭信息中給出)藥用 GET 找回。
304
Not Modified/沒有修改
如果客戶端發送了一個帶條件的GET請求且該請求已被允許,而文檔的內容(自上次訪問以來或者根據請求的條件)并沒有改變,則服務器應當返回這個狀態碼。304響應禁止包含消息體,因此始終以消息頭后的第一個空行結尾。
好久不見,還是風味猶存啊。
305
Use Proxy/使用代理
表示所請求的文檔要通過定位頭信息中的代理服務器獲得。
泡妞是需要拉皮條的。
306
Switch Proxy/切換代理
在最新版的規范中,306狀態碼已經不再被使用。
這店里的雞太差了,換個。
307
Temporary Redirect/臨時重定向
在響應為303時按照GET和POST請求轉向;而在307響應時則按照GET請求轉向而不是POST請求。
不是這里, 換個地方啦
4xx—表示請求錯誤。代表客戶端可能發生了錯誤,妨礙服務器的處理。
400
Bad Request/錯誤請求
指出客戶端請求中的語法錯誤。
不要把奇怪的東西給人家嘛
401
Unauthorized/未授權
表示客戶端在授權頭信息中沒有有效的身份信息時訪問受到密碼保護的頁面。
對上對聯,才讓進洞房。
403
Forbidden/禁止
表示除非擁有授權否則服務器拒絕提供所請求的資源。
這里不可以啦!
404
Not Found/未找到
告訴客戶端所給的地址無法找到任何資源。
這里什么都沒有 — 人家是平的啦
405
Method Not Allowed/方法未允許
表示請求方法(GET, POST, HEAD, PUT, DELETE, 等)對某些特定的資源不允許使用。
打開方式不對
406
Not Acceptable/無法訪問
表示請求資源的MIME類型與客戶端中Accept頭信息中指定的類型不一致。
啊啊啊,慢著!!好疼
407
Proxy Authentication Required/代理服務器認證要求
該狀態指出客戶端必須通過代理服務器的認證。
408
Request Timeout/請求超時
指服務端等待客戶端發送請求的時間過長。
409
Conflict/沖突
該狀態通常與PUT請求一同使用,409 狀態常被用于試圖上傳版本不正確的文件時。
找小姐找到了自己媳婦,然后…
410
Gone/已經不存在
告訴客戶端所請求的文檔已經不存在并且沒有更新的地址。410狀態不同于404,410是在指導文檔已被移走的情況下使用,而404則用于未知原因的無法訪問。
那個,你是個好人……
411
Length Required/需要數據長度
表示服務器不能處理請求,除非客戶端發送Content-Length頭信息指出發送給服務器的數據的大小。
太長了…進不去
412
Precondition Failed/先決條件錯誤
指出請求頭信息中的某些先決條件是錯誤的。
先買房,然后才能結婚。
413
Request Entity Too Large/請求實體過大
告訴客戶端現在所請求的文檔比服務器現在想要處理的要大。
414
Request URI Too Long/請求URI過長
用于在URI過長的情況時。這里所指的"URI"是指URL中主機、域名及端口號之后的內容。
這… 太長了啦
415
Unsupported Media Type/不支持的媒體格式
意味著請求所帶的附件的格式類型服務器不知道如何處理。
石女
416
Requested Range Not Satisfiable/請求范圍無法滿足
表示客戶端包含了一個服務器無法滿足的Range頭信息的請求。
417
Expectation Failed/期望失敗
表示在請求頭Expect中指定的預期內容無法被服務器滿足。
沒房,只能分手了。
418
I’m a teapot/我是杯具
本操作碼是在1998年作為IETF的傳統愚人節笑話,并不需要在真實的HTTP服務器中定義。
我就是個杯具啊
421
There are too many connections from your internet address/該IP發起的鏈接過多。
從當前客戶端所在的IP地址到服務器的連接數超過了服務器許可的最大范圍。
422
Unprocessable Entity/錯誤實體
請求格式正確,但是由于含有語義錯誤,無法響應。
423
Locked/鎖定
當前資源被鎖定。
424
Failed Dependency/錯誤關聯
由于之前的某個請求發生的錯誤,導致當前請求失敗。
425
Unordered Collection/亂序集合
在WebDav Advanced Collections草案中定義,但是未出現在《WebDAV順序集協議》(RFC 3658)中。
426
Upgrade Required/升級要求
客戶端應當切換到TLS/1.0。
428
Precondition Required/要求先決條件
先決條件是客戶端發送 HTTP 請求時,如果想要請求能成功必須滿足一些預設的條件。
主人~~不要這么快么~人家還沒濕呢。
429
Too Many Requests /太多請求
當你需要限制客戶端請求某個服務數量時,該狀態碼就很有用,也就是請求速度限制。
主人~~我快要受不了了~
431
Request Header Fields Too Large /請求頭字段太大
某些情況下,客戶端發送 HTTP 請求頭會變得很大,那么服務器可發送 431狀態碼 來指明該問題。
主人~~這么大方不進去的~~
449
Retry With/稍后重試
由微軟擴展,代表請求應當在執行完適當的操作后進行重試。
451
Unavailable for Legal Reasons/正被審查
代表那些因為法律原因而倒下的網站。
不要啦我們還沒領證呀
5XX—表示服務器錯誤。代表服務器在處理請求的過程中異常狀態發生。
500
Internal Server Error/內部服務器錯誤
服務器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。
糟了,身體變得有點奇怪了
501
Not Implemented/未實現
服務器不支持當前請求所需要的某個功能。
502
Bad Gateway/錯誤的網關
作為網關或者代理工作的服務器嘗試執行請求時,從上游服務器接收到無效的響應。
進錯了嗎?
503
Service Unavailable/服務無法獲得
表示服務器由于在維護或已經超載而無法響應。
不要…人家還沒準備好啦
504
Gateway Timeout/網關超時
指出接收服務器沒有從遠端服務器得到及時的響應。
505
HTTP Version Not Supported/不支持的 HTTP 版本
表示服務器并不支持在請求中所標明 HTTP 版本。
放開我,放開我,不要中出啊,會懷孕的(但其實是男生,不會懷孕)
506
Variant Also Negotiates
代表服務器存在內部配置錯誤:被請求的協商變元資源被配置為在透明內容協商中使用自己,因此在一個協商處理中不是一個合適的重點。
507
Insufficient Storage
服務器無法存儲完成請求所必須的內容。
都流出來了…
509
Bandwidth Limit Exceeded
服務器達到帶寬限制。這不是一個官方的狀態碼,但是仍被廣泛使用。
今天不接客了
510
Not Extended
獲取資源所需要的策略并沒有沒滿足。
沒車沒錢還想泡妞?
511
Network Authentication Required /要求網絡認證
在你想使用web服務的時候需要重定向到認證頁面,在走HTTP通信中都是這么做的,
主人~~不要蒙住我的眼睛~會好興奮的!~