HTTP 協議部分常識簡介

一、狀態碼web

  具體的狀態碼能夠百度查找,可是對於狀態碼的大體分類有一個清楚的瞭解瀏覽器

    1XX   ----信息狀態碼------接受的請求正在處理緩存

    2XX ------成功狀態碼 ------請求正常處理完畢 服務器

    3XX----重定向狀態碼-----須要進行附加操做完成請求分佈式

    4XX---客戶端錯誤狀態碼-------服務器沒法請求oop

    5XX----服務器狀態嗎錯誤-----服務器處理請求錯誤ui

二、常見的狀態碼常簡介代理

     100 continue  :表示到目前爲止都很正常,客戶端能夠正常發送請求或者忽略這個響應版本控制

 2XX : 200 ok orm

     204 No Content: 請求已經成功處理,可是返回的響應報文不包含實體的主體部分,通常在須要客戶端王服務器發送信息,而不須要返回數據的時候使用。

     206 Partial Content : 表示客戶端進行了範圍請求,響應報文包含Content-Range 指定的範圍實體內容

 3XX 重定向:

    301 Moved Permanently :永久性的重定向

    302 Found : 臨時的重定向

    303 See Other : 和302有着相同功能,可是303 明確要求客戶端採用GET的方法獲取資源

    註明:   在HTTP協議中規定,301  302 狀態重定向時不容許將POST方法改爲GEt 方法,可是大多數瀏覽器都會在301 302 303 狀態下重定向把POST方法改爲GET方法

   304 NOt Modified :若是請求報文首部包含一些條件:比方說 if_match   if-ModifiedSince   if_NoneSince if-Range if-Unmodified, 若是不知足這些條件,則服務器返回304狀態碼

   307: Temporary  Redirect :臨時重定向,與 302相似,可是不一樣的是 307要求瀏覽器不會把重定向的請求POST方法改爲GET方法

4XX;  客戶端錯誤:

  400 Bad Request :  請求報文中含有語法的錯誤

  401 Unauthorized: 該狀態碼錶示發送的請求須要有認證信息(BASIC認證,DIGEST認證),若是以前已經進行過一次請求,則表示user 認證失敗

  403 forbidden :請求被拒絕,服務器端沒有必要給出拒絕的理由

   404 not find

5XX:服務器類型錯誤:

   500 internalServer Error :服務器正在執行請求時發生錯誤

   503 Server  unavilable : 服務器暫時處超負載,或者服務器在停機在維修。沒法處理請求

那麼詳細的在 RFC 2616 規範中有詳細的記載:

 

 

 

狀態碼 類別 緣由短語 含義  
100 Informational(信息性狀態碼) Continue(繼續) 收到了請求的起始部分,客戶端應該繼續請求。
101 Informational(信息性狀態碼) Switching Protocols(切換協議) 服務器正根據客戶端的指示將協議切換成 Update 首部列出的協議。
         
200 Success(成功狀態碼) OK 服務器已成功處理請求
201 Success(成功狀態碼) Created(已建立) 對那些要服務器建立對象的請求來講,資源已建立完畢  
202 Success(成功狀態碼) Accepted(已接受) 請求已接受,但服務器還沒有處理  
203 Success(成功狀態碼) Non-Authoritative Information(非權威信息) 服務器已將事務成功處理,只是實體首部包含的信息不是來自原始服務器,而是來自資源的副本  
204 Success(成功狀態碼) No Content(沒有內容) 響應報文包含一些首部和一個狀態行,但不包含實體的主體內容通常在只須要從客戶端往服務器發送信息,而對客戶端不須要發送新信息內容的狀況下使用
205 Success(成功狀態碼) Reset Content(重置內容) 另外一個主要用於瀏覽器的代碼。意思是瀏覽器應該重置當前頁面上全部的 HTML 表單  
206 Success(成功狀態碼) Partial Content(部份內容) 成功執行了一個部分或者 Range (範圍)請求,客戶端能夠經過一些特殊的首部來獲取部分或某個範圍內的文檔
響應報文中包含由 Content-Range、Date、以及 ETag 或者 Content-Location 指定範圍的實體內容
         
300 Redirection(重定向狀態碼) Multiple Choices(多項選擇) 客戶端請求了實際指向多個資源的 URL。這個代碼是和一個選項列表一塊兒返回的,而後用戶就能夠選擇他但願使用的選項了。服務器能夠在 Location 首部包含首選 URL  
301 Redirection(重定向狀態碼) Moved Permanently(永久移除) 永久性重定向,請求的 URL 已移走。響應中應該包含一個 Location URL,說明資源如今所處的位置
302 Redirection(重定向狀態碼) Found(已找到) 臨時性重定向,與狀態碼 301 相似, 但這裏的移除是臨時的。客戶端應該用 Location 首部給出的 URL 對資源進行臨時定位
303 Redirection(重定向狀態碼) See Other(參見其餘) 告訴客戶端應該用另外一個 URL 獲取資源。這個新的 URL 位於響應報文的 Location 首部。303 狀態碼 和 302 狀態碼有相同的功能,可是 303 明確表示客戶端應採用 GET 方法獲取資源
      當 30一、30二、303 響應狀態碼返回時,幾乎全部的瀏覽器都會把 POST 改爲 GET,並刪除請求報文內的主體,以後請求會自動再次發送。
30一、302 標準是禁止將 POST 方法改變成 GET 方法的,但實際使用時你們都會這麼作
 
304 Redirection(重定向狀態碼) Not Modified(未修改) 該狀態碼錶示客戶端發送附帶條件的請求時,服務器容許請求訪問資源,但因發生請求未知足條件的狀況後,直接返回 304 Not Modified(服務器端資源未改變,可直接使用客戶端未過時的緩存)304 狀態碼返回時,不包含任何響應的主體部分。304 雖然被劃分在 3XX 類別中,可是和重定向一點關係也沒有
      (附帶條件的請求是指採用 GET 方法的請求報文中包含 If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since 中任一首部)  
305 Redirection(重定向狀態碼) Use Proxy(使用代理) 必須經過代理訪問 資源,代理的位置是在 Location 首部中給出的  
306 (未使用)   這個狀態碼當前並未使用  
307 Redirection(重定向狀態碼) Temporary Redirect(臨時重定向) 和狀態碼 302 相似。但客戶端應該用 Location 首部給出的 URL 對資源進行臨時定位。
307 會遵照瀏覽器標準,不會從 POST 變成 GET
         
400 Client Error(客戶端錯誤狀態碼) Bad request(壞請求) 告訴客戶端它發送了一條異常請求
401 Client Error(客戶端錯誤狀態碼) Unauthorized(未受權) 與適當的首部一塊兒返回,在客戶端得到資源訪問權以前,請它進行身份認證
402 Client Error(客戶端錯誤狀態碼) Payment Required(要求付款) 當前此狀態碼並未使用,是爲將來使用預留的  
403 Client Error(客戶端錯誤狀態碼) Forbidden(禁止) 服務器拒絕了請求
404 Client Error(客戶端錯誤狀態碼) Not Found(未找到) 服務器沒法找到 所請求的 URL
405 Client Error(客戶端錯誤狀態碼) Method Not Allowed(不容許使用的方法) 請求中有一個所請求的 URI 不支持的方法。響應中應該包含一個 Allow 首部,以告知客戶端所請求的資源支持使用哪些方法  
406 Client Error(客戶端錯誤狀態碼) Not Acceptable(沒法接受) 客戶端能夠指定一些參數來講明但願接受哪些類型的實體。服務器沒有資源與客戶端可接受的 URL 相匹配時可以使用此代碼  
407 Client Error(客戶端錯誤狀態碼) Proxy Authentication Required(要求進行代理認證) 和狀態碼 401 相似,但用於須要進行資源認證的代理服務器  
408 Client Error(客戶端錯誤狀態碼) Request Timeout(請求超時) 若是客戶端完成其請求時花費的時間太長,服務器能夠回送這個狀態碼並關閉鏈接  
409 Client Error(客戶端錯誤狀態碼) Conflict( 衝突) 發出的請求在資源上形成了一些衝突  
410 Client Error(客戶端錯誤狀態碼) Gone(消失了) 除了服務器曾持有這些資源以外,與狀態碼 404 相似  
411 Client Error(客戶端錯誤狀態碼) Length Required(要求長度指示) 服務器要求在請求報文中包含 Content- Length 首部時會使用這個代碼。發起的請求中若沒有 Content-Length 首部,服務器 是不會接受此資源請求的  
412 Client Error(客戶端錯誤狀態碼) Precondition Failed(先決條件失敗) 若是客戶端發起了一個條件請求, 若是服務器沒法知足其中的某個條件,就返回這個響應碼  
413 Client Error(客戶端錯誤狀態碼) Request Entity Too Large(請求實體太大) 客戶端發送的實體主體部分比 服務器可以或者但願處理的要大  
414 Client Error(客戶端錯誤狀態碼) Request URI Too Long(請求 URI 太長) 客戶端發送的請求所攜帶的請求 URL 超過了服務器可以或者但願處理的長度  
415 Client Error(客戶端錯誤狀態碼) Unsupported Media Type(不支持的媒體類型) 服務器沒法理解或不支持客戶端所發送的實體的內容類型  
416 Client Error(客戶端錯誤狀態碼) Requested Range Not Satisfiable(所請求的範圍未獲得知足) 請求報文請求的是某範圍內的指定資源,但那個範圍無效,或者未獲得知足  
417 Client Error(客戶端錯誤狀態碼) Expectation Failed(沒法知足指望) 請求的 Expect 首部包含了一個預期內容,但服務器沒法知足  
         
500 Server Error(服務器錯誤狀態碼) Internal Server Error(內部服務器錯誤) 服務器遇到了一個錯誤,使其沒法爲請求提供服務
501 Server Error(服務器錯誤狀態碼) Not Implemented(未實現) 服務器沒法知足客戶端請求的某個功能  
502 Server Error(服務器錯誤狀態碼) Bad Gateway(網關故障) 做爲代理或網關使用的服務器遇到了來自響應鏈中上游的無效響應  
503 Server Error(服務器錯誤狀態碼) Service Unavailable(未提供此服務) 服務器目前沒法爲請求提供服務,但過一段時間就能夠恢復服務
504 Server Error(服務器錯誤狀態碼) Gateway Timeout(網關超時) 與狀態碼 408 相似,可是響應來自網關或代理,此網關或代理在等待另外一臺服務器的響應時出現了超時  
505 Server Error(服務器錯誤狀態碼) HTTP Version Not Supported(不支持的 HTTP 版本) 服務器收到的請求是以它不支持或不肯支持的協議版本表示的  

在 RFC2616 中定義了 40 種 HTTP 狀態碼,webDAV ( Web-based Distributed Authoring and Versioning,基於萬維網的分佈式創做和版本控制)在 RFC4918 和 RFC5842 中,定義了一些特殊的狀態碼,在 RFC251八、RFC281七、RFC229五、RFC277四、RFC6585 中還額外定義了一些附加的 HTTP 狀態碼。總共有 60+ 種。具體連接能夠見 HTTP狀態碼 (wikipedia)

webDAV 新增狀態碼

狀態碼 類別 緣由短語 含義  
102 Informational(信息性狀態碼) Processing(處理中) 可正常處理請求,但目前是處理中狀態。WebDAV請求可能包含許多涉及文件操做的子請求,須要很長時間才能完成請求。該代碼表示​​服務器已經收到並正在處理請求,但無響應可用。這樣能夠防止客戶端超時,並假設請求丟失。  
207 Success(成功狀態碼) Multi-Status(多種狀態) 存在多種狀態。表明以後的消息體將是一個 XML 消息,而且可能依照以前子請求數量的不一樣,包含一系列獨立的響應代碼。  
208 Success(成功狀態碼) Already Reported(已經響應) DAV綁定的成員已經在(多狀態)響應以前的部分被列舉,且未被再次包含。  
422 Client Error(客戶端錯誤狀態碼) Unprocessable Entity(不可處理的實體) 格式正確,內容有誤,沒法處理響應  
423 Client Error(客戶端錯誤狀態碼) Locked(被鎖定) 資源已被加鎖  
424 Client Error(客戶端錯誤狀態碼) Failed Dependency(失敗的依賴) 處理與某請求關聯的請求失敗,由於再也不維持依賴關係。  
507 Server Error(服務器錯誤狀態碼) Insufficient Storage(存儲空間不足) 服務器沒法存儲完成請求所必須的內容。這個情況被認爲是臨時的。  
508 Server Error(服務器錯誤狀態碼) Loop Detected(檢測到環) 服務器在處理請求時陷入死循環。
相關文章
相關標籤/搜索