狀態碼與緣由短語 (Status Code and Reason Phrase) 緩存
Status-Code元素是一個試圖理解和知足請求的三位數字整數碼,這些碼的完整定義在第十章。
緣由短語(Reason-Phrase)是爲了給出關於狀態碼的簡單的文本描述。狀態碼用於控制,而
緣由短語(Reason-Phrase)是讓用戶便於閱讀。客戶端不須要檢查和顯示緣由短語。 安全
狀態碼的第一位數字定義響應類別。後兩位數字沒有任何分類角色。第一位數字有五種值: 服務器
-1xx :報告的 -請求被接收到,繼續處理
-2xx :成功 - 被成功地接收(received),理解(understood),接受
(accepted)的動做 。
-3xx :重發 - 爲了完成請求必須採起進一步的動做。
-4xx :客戶端出錯 - 請求包括錯的語法或不能被知足。
-5xx :服務器出錯 - 服務器沒法完成顯然有效的請求。 代理
下面列舉了爲HTTP/1.1定義的態碼值,和對應的緣由短語(Reason-Phrase)的例子。緣由短
語在這裏例舉只是建議性的----它們也許被一個局部的等價體代替而不會影響此協議的語義。 code
Status-Code =
"100" ; 10.1.1節: 繼續
|"101" ; 10.1.2節: 轉換協議
|"200" ; 10.2.1節: OK
|"201" ; 10.2.2節: 已建立
|"202" ; 10.2.3節: 接受
|"203" ; 10.2.4節: 非權威信息
|"204" ; 10.2.5節: 無內容
|"205" ; 10.2.6節: 重置內容
|"206" ; 10.2.7節: 部份內容
|"300" ; 10.3.1節: 多個選擇
|"301" ; 10.3.2節: 永久移動
|"302" ; 10.3.3節: 發現
|"303" ; 10.3.4節: 見其它
|"304" ; 10.3.5節: 沒有被改變
|"305" ; 10.3.6節: 使用代理
|"307" ; 10.3.8節 臨時重發
|"400" ; 10.4.1節: 壞請求
|"401" ; 10.4.2節: 未受權的
|"402" ; 10.4.3節: 必要的支付
|"403" ; 10.4.4節: 禁用
|"404" ; 10.4.5節: 沒有找到
|"405" ; 10.4.6節: 方式不被容許
|"406" ; 10.4.7節: 不接受的
|"407" ; 10.4.8節: 須要代理驗證
|"408" ; 10.4.9節: 請求超時
|"409" ; 10.4.10節; 衝突
|"410" ; 10.4.11節: 不存在
|"411" ; 10.4.12節: 長度必需
|"412" ; 10.4.13節;先決條件失敗
|"413" ; 10.4.14節: 請求實體太大
|"414" ; 10.4.15節; 請求URI太大
|"415" ; 10.4.16節: 不被支持的媒體類型
|"416" ; 10.4.17節: 請求的範圍不知足
|"417" ; 10.4.18節: 指望失敗
|"500" ; 10.5.1節: 服務器內部錯誤
|"501" ; 10.5.2節: 不能實現
|"502" ; 10.5.3節: 壞網關
|"503" ; 10.5.4節: 服務不能得到
|"504" ; 10.5.5節: 網關超時
|"505" ; 10.5.6節: HTTP版本不支持
|擴展碼
extension-code =3DIGIT
Reason-Phrase = *<TEXT,excluding CR,LF> io
HTTP狀態碼是可擴展的。HTTP應用程序不須要理解全部已註冊狀態碼的含義,儘管那樣的理 解是很但願的。可是,應用程序必須瞭解由第一位數字指定的狀態碼的類別,任何未被識別的 響應應被看做是那個類別的x00狀態碼,未被識別的響應不能被緩存除外。例如,若是客戶端 收到一個未被識別的狀態碼431,則能夠安全的認爲請求有錯,而且它會對待此響應就像它接 收了一個狀態碼是400的響應。在這種狀況下,用戶代理(user agent)應當把響應的實體展 現給用戶,由於實體有可能包括人類可讀的信息,這些信息也許能解釋非正常狀態的緣由。