【翻譯】rfc2616 Http狀態碼規范
原地址 : http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
part of Hypertext Transfer Protocol – HTTP/1.1
RFC 2616 Fielding, et al.
10狀態碼定義
每個狀態碼描述如下,其中描述的方法可以遵循和響應所需的任何信息。
10.1 1XX
這類狀態碼表示臨時響應,只包括狀態行和可選的頭,并通過一個空的行終止。這類狀態碼不需要頭文件。由于HTTP / 1沒有定義任何1xx狀態碼,服務器不能發送一個HTTP 1客戶端1xx響應除了在實驗條件。
客戶端必須準備接受一個或多個1xx狀態響應的一種常規響應之前,即使客戶不指望100(繼續)狀態信息。意外的1xx狀態響應可以由一個用戶代理忽略。
代理人必須向前1xx響應,除非代理和客戶端之間的連接已關閉,或除非代理本身要求的一代1xx響應。例如,如果一個
代理添加了一個“期待:100繼續”的領域,當它轉發請求,然后它不需要轉發相應的100(繼續)響應(的)。
基本上我們不會手動返回1XX的返回碼…
10.1.1 100繼續
客戶應繼續其要求。這個臨時的反應是用來通知客戶端的請求的初始部分已經收到,尚未被拒絕的服務器??蛻魬^續發送該請求的其余部分,如果該請求已完成,則忽略此響應。服務器必須在請求完成后發送最終響應??吹降氖褂米髁嗽敿毜挠懻撆c此狀態代碼處理8.2.3節。
10.1.2 101交換協議
服務器理解并愿意遵從客戶端的請求,通過升級消息頭字段(第14.42節),對于在這個連接上使用的應用程序的更改。該服務器將切換到響應的升級頭字段中所定義的協議,并立即終止101個響應的空行。
只有在有利于這樣做的時候,該協議才被交換。例如,切換到新版本的HTTP優于舊版本,并切換到一個實時、同步協議可能是有利時,提供資源使用等特點。
10.2成功2xx
這一類的狀態碼表示客戶端的請求已成功接收、理解和接受。
通過返回2XX表示請求成功和當前資源的狀態
10.2.1 200 OK
請求成功。返回的信息與響應是依賴于該方法中使用的請求,例如:
GET 對應于請求的資源的一個相對應的響應;
HEAD 對應于所請求資源的單位頭字段在響應中發送未經任何消息的正文;
POST 一個描述或包含動作結果的實體;
TRACE 包含請求消息的實體,該實體包含終端服務器接收的請求消息。
10.2.2 201創建
這個請求已經完成,并導致了一個新的資源被創建。新創建的資源可以由URI引用在返回的響應實體,通過定位頭字段中指定的資源最具體的URI。響應應包含一個包含資源特性和位置的列表(從該用戶或用戶代理可以選擇最合適的資源的列表)的實體。在內容類型頭字段中給出的媒體類型指定的實體格式。在返回201狀態碼之前,源服務器必須創建資源。如果不能立即進行操作,服務器應當響應202(接受)響應。
201響應可能包含ETag響應頭域表示的變體標簽實體的要求為剛剛創建的電流值,見14.19節。
[POST/PUT/PATCH]:用戶新建或修改數據成功
10.2.3 202接受
該請求已被接受處理,但處理尚未完成。請求可能會或可能不會最終將采取行動,因為它可能是不允許在處理實際發生。沒有從異步操作中重新發送狀態碼的設備,例如。
202回應是故意不表態。它的目的是允許一個服務器接受一個請求,為一些其他的進程(也許是一個面向批處理的過程,只運行一次),而無需用戶代理的連接到服務器堅持,直到該過程完成。返回的單位應包括該請求的當前狀態的指示,或者是一個狀態監視器的指針,或者當用戶可以期望被滿足的請求時的一些估計。
[*]:表示一個請求已經進入后臺排隊(異步任務)
10.2.4 203非權威信息
在實體報頭返回的元信息是不明確的設置為從源服務器,而是從本地或第三方復制聚集。設置可能被提出的子集或超集的原始版本。例如,包括對資源的地方標注信息可能會導致由原始服務器稱為元信息的一個超集。使用此響應代碼是不需要的,只有適當的響應,否則將是200(確定)。
10.2.5 204無內容
服務器已經完成了請求,但不需要返回一個實體,并且希望返回更新的元信息。響應可能包括新的或更新的形式在實體頭信息,如果存在,應該與請求的變量相關聯。
如果客戶端是一個用戶代理,則不應該將它的文檔視圖從它的文檔視圖中更改,從而導致請求被發送。這種反應主要是為了讓行動不會導致改變用戶代理的活動文檔視圖發生輸入,但任何新的或更新的信息應該被應用到文檔中的用戶代理的積極看法。
204響應必須不包括消息體,因此,在頭字段之后的第一個空的行總是被終止。
[DELETE]:用戶刪除數據成功。
10.2.6 205內容復位
該服務器已完成該請求,該用戶代理應重置引起該請求的文檔視圖。此響應的主要目的是允許輸入的動作,通過用戶輸入,然后由一個結算的形式,其中的輸入,以便用戶可以很容易地啟動另一個輸入動作。回應必須不包括實體。
10.2.7 206部分內容
服務器已完成對資源的部分請求。請求必須包含一個范圍頭字段(第14.35節),表示所需的范圍,并可能包括一個如果范圍頭字段(第14.27節),以使請求有條件。
響應必須包括以下的標題字段:
- Either a Content-Range header field (section 14.16) indicating the range included with this response, or a multipart/byteranges Content-Type including Content-Range fields for each part. If a Content-Length header field is present in the response, its value MUST match the actual number of OCTETs transmitted in the message-body. - Date - ETag and/or Content-Location, if the header would have been sent in a 200 response to the same request - Expires, Cache-Control, and/or Vary, if the field-value might differ from that sent in any previous response for the same variant
1
2
3
4
5
6
7
8
9
10
11
12
10.3重定向3XX
這個類的狀態碼表示用戶代理需要采取進一步的行動來完成該請求。所需的操作,可以由用戶代理進行,而不與用戶進行交互,如果只在二次請求中使用的方法是獲得或頭部。一個客戶端應該檢測到無限重定向循環,因為這樣的循環會產生每個重定向的網絡流量。
注:本規范的前版本推薦
五重定向的最大。內容開發者應該知道
有可能是客戶,實現這樣一個固定
限制。
10.3.1 300多種選擇
所請求的資源對應于任何一個表示,每個與它自己特定的位置,和代理驅動的協商信息(第12節),以使用戶(或用戶代理)可以選擇一個首選的表示,并將其請求重定向到該位置。
除非它是一個請求,響應應包括一個包含資源特性和位置的列表(用戶或用戶代理可以選擇最合適的資源的列表)。在內容類型頭字段中給出的媒體類型指定的實體格式。根據不同的格式和功能
用戶代理,選擇最合適的選擇可以自動執行。然而,本規范沒有定義任何標準的自動選擇。
如果服務器有代表性的首選,它應包括在位置字段,表示特定的URI;用戶代理可以使用自動重定向位置字段的值。這個響應是可緩存的除非另有說明。
10.3.2 301永久移動
被請求的資源已經被分配了一個新的URI和任何未來的資源引用到這應該用一個返回的URI。鏈接編輯功能的客戶端應當自動鏈接引用的請求的一個或多個新的引用由服務器返回,在可能的情況下。這個響應是可緩存的除非另有說明。
新的URI應該響應的Location域中給出。除非這是一個HEAD請求,響應的實體應該包含一個超鏈接及簡短說明新的URI。
如果301狀態碼在響應請求以外的請求而接收,用戶代理必須不能自動重定向請求,除非它可以被用戶確認,因為這可能改變請求發出的條件。
注:當自動重定向POST請求后
收到一個301狀態代碼,一些現有的HTTP / 1用戶代理
會變成GET請求。
10.3.3 302發現
請求的資源暫時駐留在不同的URI。由于重定向有時可能會改變,客戶端應繼續使用URI來請求。這種反應只緩存如果表示緩存控制或Expires頭域。
臨時的URI應該響應的Location域中給出。除非這是一個HEAD請求,響應的實體應該包含一個超鏈接及簡短說明新的URI。
如果302狀態碼在響應請求以外的請求而接收,用戶代理必須不能自動重定向請求,除非它可以被用戶確認,因為這可能改變請求發出的條件。
注:指定的客戶端不能RFC 1945和RFC 2068
改變重定向請求的方法。然而,大多數
現有的用戶代理實現治療302,如果它是一個303
響應,執行一個位置字段值,無論
原始請求法。狀態碼307和303有
被添加為服務器,希望使明確明確的
客戶期望的反應。
10.3.4 303看其他
對該請求的響應可以在一個不同的URI,應使用該資源的GET方法檢索。此方法主要存在于允許一個激活后的腳本的輸出將用戶代理重定向到選定的資源。新的URI不是原始資源替代的參考。303響應必須不被緩存,但反應到二(重定向)的要求可能是緩存。
不同的URI應該響應的Location域中給出。除非這是一個HEAD請求,響應的實體應該包含一個超鏈接及簡短說明新的URI(S)。
注:許多前HTTP / 1.1用戶代理不明白303
狀態。當與客戶的互操作性是一個值得關注的問題,
302狀態碼可以使用,因為大多數用戶代理反應
在這里描述的302響應
10.4 4客戶端錯誤
該狀態代碼4xx類為例,客戶似乎有錯。除對請求進行響應時,服務器應包含一個包含錯誤情況的解釋的實體,以及它是否是一個臨時或永久性條件。這些狀態碼適用于任何請求方法。用戶代理應向用戶顯示任何包含的實體。
如果客戶端發送數據,服務器使用TCP實現必須小心確保客戶確認收到的數據包(S)包含響應,服務器關閉前的輸入連接。如果客戶端繼續發送數據到服務器后,服務器的TCP協議棧將發送一個重置數據包到客戶端,從而才能閱讀和HTTP應用解釋刪除客戶端的未確認的輸入緩沖器。
10.4.1 400錯誤的請求
不能被服務器理解由于語法錯誤。不需要修改的客戶端不應該重復該請求。
10.4.2 401未經授權
請求需要用戶身份驗證。響應必須包含一個WWW-Authenticate報頭域(14.47節)包含一個適用于被請求資源的挑戰。客戶端可以使用適當的授權頭字段(第14.8節)重復該請求。如果該請求已包含授權證書,則401響應顯示已拒絕為憑據。如果401個響應包含先前響應的相同的挑戰,并且用戶代理已經嘗試至少一次驗證,那么該用戶應在響應中給出的實體,因為該實體可能包括相關的診斷信息。HTTP訪問認證是“HTTP認證解釋:基本和摘要訪問認證”[ 43 ]。
10.4.3 402付款要求
這個代碼是為將來使用的。
10.4.4沒有權限訪問此網站
服務器理解請求,但拒絕完成它。授權不會幫助和請求不應該重復。如果請求的方法不是頭部和服務器希望使公眾為什么請求沒有被滿足,它應該說明在實體拒絕的原因。如果服務器不希望將此信息提供給客戶端,可以使用狀態碼404(未找到)。
10.4.5 404未找到
服務器并沒有發現任何匹配的請求URI。沒有任何跡象顯示條件是暫時或永久性的。如果服務器知道,通過一些內部配置機制,如果服務器知道一個舊資源是永久不可用,并且沒有轉發地址,則應該使用狀態碼(410)。此狀態代碼通常用于當服務器不希望顯示該請求已被拒絕,或當沒有其他響應是適用的。
10.4.6 405法不允許
在請求行中指定的方法是不允許的請求URI標識的資源。響應必須包含一個允許頭包含請求資源的有效方法列表。
10.4.7 406不接受單獨
請求所確定的資源是能夠生成響應的實體,其內容特性不能接受根據請求發送的接收頭的特性。
除非它是一個請求,響應應包括一個實體,它包含一個可供選擇的實體特征和位置的列表,用戶或用戶代理可以選擇一個最合適的實體。在內容類型頭字段中給出的媒體類型指定的實體格式。根據用戶代理的格式和功能,選擇最合適的選擇可以自動執行。然而,本規范沒有定義任何標準的自動選擇。
注:HTTP 1.1服務器返回響應,
不能接受根據接收頭發送的
請求。在某些情況下,這可能是最好的發送
406響應。鼓勵用戶代理檢查標題
一個輸入的響應,以確定是否可以接受。
如果響應可能是不可接受的,用戶代理應該暫時停止接收更多的數據,并為進一步的行動決定用戶查詢。
10.4.8 407代理服務器要求身份驗證
此代碼類似于401(未經授權),但表示客戶端必須首先對其進行身份驗證。代理必須返回一個代理身份驗證頭字段(第14.33節),該頭域(第節)包含請求資源的代理的一個挑戰??蛻舳丝梢允褂靡粋€合適的代理授權頭域(第14.34節)重復該請求。HTTP訪問認證是“HTTP認證解釋:基本和摘要訪問認證”[ 43 ]。
10.4.9 408請求超時
在服務器準備等待的時間內,客戶端沒有產生一個請求。該客戶可以在任何稍后時間不修改的要求重復該請求。
10.4.10 409沖突
無法完成該請求,因為與資源的當前狀態沖突。此代碼只允許的情況下,預計用戶可能能夠解決沖突和重新提交請求?;貞黧w應包含足夠
用戶的信息來識別沖突的來源。理想情況下,響應實體將包含足夠的信息,用戶或用戶代理來解決這個問題,但是,這可能是不可能的。
沖突是最有可能發生在響應請求。例如,如果正在使用的版本和實體將包括改變資源與那些由早些時候的沖突(第三方)請求,服務器可能會使用409的反應表明,它無法完成請求。在這種情況下,響應實體可能包含一個在響應內容類型定義的格式中定義的格式的差異的列表。
10.4.11 410了
所請求的資源已不再在服務器上,沒有任何轉發地址是已知的。這種情況被認為是永久性的。鏈接編輯功能的客戶端應該刪除引用的請求后,用戶驗收。如果服務器不知道,或者沒有設備來確定,是否該條件是永久性的,狀態碼404(未找到)應該使用。這個響應是可緩存的除非另有說明。
410個響應的主要目的是協助網絡維護的任務,通知收件人的資源是故意不可用,服務器所有者的愿望,遠程鏈接到該資源被刪除。這樣的事件是常見的時間有限,推廣服務和資源屬于個人不再工作在服務器的網站。沒有必要標記所有永久不可用的資源為“不留”或保留任何時間長度的標記-這是留給服務器所有者的自由裁量權。
10.4.12 411長度要求
服務器拒絕接受未定義的內容長度的請求。如果在請求消息中添加一個有效的內容長度的頭字段,該客戶可以重復該請求。
10.4.13 412前提條件失敗
在一個或多個請求頭字段在服務器上進行測試時,在一個或多個請求頭域中給出的前提條件。此響應代碼允許客戶在條件對當前資源元信息(標題字段數據),從而防止所請求的方法被應用到比預期的另外一個資源。
10.4.14 413請求實體太大
服務器拒絕處理請求,因為請求實體比服務器更大,或者能夠處理。服務器可以關閉連接以防止客戶端繼續請求。
如果條件是暫時的,服務器應該包括一個重試-在頭字段顯示它是暫時的,并且在什么時候該客戶可以再次嘗試。
10.4.15 414請求URI太長
服務器拒絕服務請求,因為請求URI是超過了服務器能夠解釋時間。這種罕見的情況只可能發生在客戶端不當將POST請求轉換到一個GET長查詢信息,當客戶進入一個URI的“黑洞”的重定向(例如,重定向的URI前綴指向本身的后綴),或者當服務器通過客戶端試圖利用安全漏洞使用固定長度的緩沖區讀或操縱請求一些服務器目前的攻擊下。
10.4.16 415不支持的媒體類型
服務器拒絕服務請求,因為請求的實體不支持被請求的方法所請求的資源。
10.4.17 416請求范圍不滿足
如果一個請求的服務器應該包含一系列請求標頭字段返回此狀態碼的響應(14.35節),沒有一個范圍說明符值在這一領域的重疊選定當前資源的程度,并要求不包括如果范圍請求標頭字段。(字節范圍,這意味著第一個字節的POS所有的字節范圍規格值均大于所選資源。目前的長度)
當這個狀態碼返回一個字節范圍的請求時,響應應包括指定選定資源的當前長度的內容范圍實體頭字段(見14.16節)。這種反應不是必須使用多重/ byteranges內容類型。
10.4.18 417期待失敗
預期的請求的請求頭字段(見第14.20)不能滿足此服務器,或,如果服務器是一個代理,該服務器有明確的證據表明,該請求不能滿足下一跳服務器。
10.5 5服務器錯誤
響應狀態碼“5”表示在何種情況下服務器知道它犯了錯誤或執行請求的能力。除對請求進行響應時,服務器應包含一個包含錯誤情況的解釋的實體,以及它是否是一個臨時或永久性條件。用戶代理應向用戶顯示任何包含的實體。這些響應代碼適用于任何請求方法。
10.5.1 500內部服務器錯誤
服務器遇到了一個無法預料的情況,它阻止了它的實現。
10.5.2 501未實現
服務器不支持完成請求所需的功能。這是適當的響應時,服務器不承認請求方法,是不能夠支持它的任何資源。
10.5.3 502網關錯誤
服務器作為網關或代理,在試圖完成請求時,收到了來自上游服務器的無效響應。
10.5.4 503服務不可用
由于臨時超載或服務器的維護,服務器無法處理該請求。其含義是,這是一個暫時的條件,這將是緩解后,一些延遲。如果已知的話,可能在一次重試后顯示的延遲的長度。如果沒有重試,客戶端應該處理的響應,因為它將為500響應。
注:503狀態碼的存在并不意味著
服務器過載時必須使用它。一些服務器可能希望
簡單地拒絕連接。
10.5.5 504網關超時
服務器,而作為網關或代理,沒有從URI指定的上游服務器接收到及時響應(如HTTP,FTP,LDAP)或其它輔助服務器(例如DNS)它需要訪問嘗試完成請求。
注意:注意實施者:一些部署代理是眾所周知的
返回400或500時,DNS查詢超時。
10.5.6 505 HTTP版本不受支持
服務器不支持或拒絕支持HTTP協議的版本是在請求消息中使用。服務器表示,它是無法或不愿意完成請求使用相同的主要版本為客戶端,如在第3.1節中所述,其他與此錯誤信息。響應應該包含一個實體,該實體描述了為什么不支持該版本以及該服務器支持哪些其他協議。
HTTP 機器翻譯
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。