主頁 > .NET開發 > HTTP 回應狀態代碼

HTTP 回應狀態代碼

2021-01-24 16:39:20 .NET開發

HTTP 回應狀態代碼指示特定 HTTP 請求是否已成功完成,回應分為五類:資訊回應(100199),成功回應(200299),重定向(300399),客戶端錯誤(400499)和服務器錯誤 (500599),狀態代碼由 section 10 of RFC 2616定義

資訊回應

100 Continue
這個臨時回應表明,迄今為止的所有內容都是可行的,客戶端應該繼續請求,如果已經完成,則忽略它,
101 Switching Protocol
該代碼是回應客戶端的 Upgrade 標頭發送的,并且指示服務器也正在切換的協議,
102 Processing (WebDAV)
此代碼表示服務器已收到并正在處理該請求,但沒有回應可用,
103 Early Hints 
此狀態代碼主要用于與Link 鏈接頭一起使用,以允許用戶代理在服務器仍在準備回應時開始預加載資源,

成功回應

200 OK

請求成功,成功的含義取決于HTTP方法:

  • GET:資源已被提取并在訊息正文中傳輸,
  • HEAD:物體標頭位于訊息正文中,
  • POST:描述動作結果的資源在訊息體中傳輸,
  • TRACE:訊息正文包含服務器收到的請求訊息
201 Created
該請求已成功,并因此創建了一個新的資源,這通常是在POST請求,或是某些PUT請求之后回傳的回應,
202 Accepted
請求已經接收到,但還未回應,沒有結果,意味著不會有一個異步的回應去表明當前請求的結果,預期另外的行程和服務去處理請求,或者批處理,
203 Non-Authoritative Information
服務器已成功處理了請求,但回傳的物體頭部元資訊不是在原始服務器上有效的確定集合,而是來自本地或者第三方的拷貝,當前的資訊可能是原始版本的子集或者超集,例如,包含資源的元資料可能導致原始服務器知道元資訊的超集,使用此狀態碼不是必須的,而且只有在回應不使用此狀態碼便會回傳200 OK的情況下才是合適的,
204 No Content
服務器成功處理了請求,但不需要回傳任何物體內容,并且希望回傳更新了的元資訊,回應可能通過物體頭部的形式,回傳新的或更新后的元資訊,如果存在這些頭部資訊,則應當與所請求的變數相呼應,如果客戶端是瀏覽器的話,那么用戶瀏覽器應保留發送了該請求的頁面,而不產生任何檔案視圖上的變化,即使按照規范新的或更新后的元資訊應當被應用到用戶瀏覽器活動視圖中的檔案,由于204回應被禁止包含任何訊息體,因此它始終以訊息頭后的第一個空行結尾,
205 Reset Content
服務器成功處理了請求,且沒有回傳任何內容,但是與204回應不同,回傳此狀態碼的回應要求請求者重置檔案視圖,該回應主要是被用于接受用戶輸入后,立即重置表單,以便用戶能夠輕松地開始另一次輸入,與204回應一樣,該回應也被禁止包含任何訊息體,且以訊息頭后的第一個空行結束,
206 Partial Content
服務器已經成功處理了部分 GET 請求,類似于 FlashGet 或者迅雷這類的 HTTP 下載工具都是使用此類回應實作斷點續傳或者將一個大檔案分解為多個下載段同時下載,該請求必須包含 Range 頭資訊來指示客戶端希望得到的內容范圍,并且可能包含 If-Range 來作為請求條件,
207 Multi-Status (WebDAV)
由WebDAV(RFC 2518)擴展的狀態碼,代表之后的訊息體將是一個XML訊息,并且可能依照之前子請求數量的不同,包含一系列獨立的回應代碼,
208 Already Reported (WebDAV)
在 DAV 里面使用: propstat 回應元素以避免重復列舉多個系結的內部成員到同一個集合,
226 IM Used (HTTP Delta encoding)
服務器已經完成了對資源的 GET 請求,并且回應是對當前實體應用的一個或多個實體操作結果的表示,

重定向

300 Multiple Choice
被請求的資源有一系列可供選擇的回饋資訊,每個都有自己特定的地址和瀏覽器驅動的商議資訊,用戶或瀏覽器能夠自行選擇一個首選的地址進行重定向,
301 Moved Permanently
被請求的資源已永久移動到新位置,并且將來任何對此資源的參考都應該使用本回應回傳的若干個 URI 之一,如果可能,擁有鏈接編輯功能的客戶端應當自動把請求的地址修改為從服務器反饋回來的地址,除非額外指定,否則這個回應也是可快取的,
302 Found
請求的資源現在臨時從不同的 URI 回應請求,由于這樣的重定向是臨時的,客戶端應當繼續向原有地址發送以后的請求,只有在Cache-Control或Expires中進行了指定的情況下,這個回應才是可快取的,
303 See Other
對應當前請求的回應可以在另一個 URI 上被找到,而且客戶端應當采用 GET 的方式訪問那個資源,這個方法的存在主要是為了允許由腳本激活的POST請求輸出重定向到一個新的資源,
304 Not Modified
如果客戶端發送了一個帶條件的 GET 請求且該請求已被允許,而檔案的內容(自上次訪問以來或者根據請求的條件)并沒有改變,則服務器應當回傳這個狀態碼,304 回應禁止包含訊息體,因此始終以訊息頭后的第一個空行結尾,
305 Use Proxy
被請求的資源必須通過指定的代理才能被訪問,Location 域中將給出指定的代理所在的 URI 資訊,接收者需要重復發送一個單獨的請求,通過這個代理才能訪問相應資源,只有原始服務器才能建立305回應,
306 unused
在最新版的規范中,306 狀態碼已經不再被使用,
307 Temporary Redirect
請求的資源現在臨時從不同的URI 回應請求,由于這樣的重定向是臨時的,客戶端應當繼續向原有地址發送以后的請求,只有在Cache-Control或Expires中進行了指定的情況下,這個回應才是可快取的,
308 Permanent Redirect
這意味著資源現在永久位于由 Location: HTTP Response 標頭指定的另一個 URI, 這與 301 Moved Permanently HTTP 回應代碼具有相同的語意,但用戶代理不能更改所使用的 HTTP 方法:如果在第一個請求中使用 POST,則必須在第二個請求中使用 POST

客戶端回應

400 Bad Request
1、語意有誤,當前請求無法被服務器理解,除非進行修改,否則客戶端不應該重復提交這個請求,
2、請求引數有誤,
401 Unauthorized
當前請求需要用戶驗證,該回應必須包含一個適用于被請求資源的 WWW-Authenticate 資訊頭用以詢問用戶資訊,客戶端可以重復提交一個包含恰當的 Authorization 頭資訊的請求,如果當前請求已經包含了 Authorization 證書,那么401回應代表著服務器驗證已經拒絕了那些證書,如果401回應包含了與前一個回應相同的身份驗證詢問,且瀏覽器已經至少嘗試了一次驗證,那么瀏覽器應當向用戶展示回應中包含的物體資訊,因為這個物體資訊中可能包含了相關診斷資訊,
402 Payment Required
此回應碼保留以便將來使用,創造此回應碼的最初目的是用于數字支付系統,然而現在并未使用,
403 Forbidden
服務器已經理解請求,但是拒絕執行它,與 401 回應不同的是,身份驗證并不能提供任何幫助,而且這個請求也不應該被重復提交,如果這不是一個 HEAD 請求,而且服務器希望能夠講清楚為何請求不能被執行,那么就應該在物體內描述拒絕的原因,當然服務器也可以回傳一個 404 回應,假如它不希望讓客戶端獲得任何資訊,
404 Not Found
請求失敗,請求所希望得到的資源未被在服務器上發現,沒有資訊能夠告訴用戶這個狀況到底是暫時的還是永久的,假如服務器知道情況的話,應當使用410狀態碼來告知舊資源因為某些內部的配置機制問題,已經永久的不可用,而且沒有任何可以跳轉的地址,404這個狀態碼被廣泛應用于當服務器不想揭示到底為何請求被拒絕或者沒有其他適合的回應可用的情況下,
405 Method Not Allowed
請求行中指定的請求方法不能被用于請求相應的資源,該回應必須回傳一個Allow 頭資訊用以表示出當前資源能夠接受的請求方法的串列, 鑒于 PUT,DELETE 方法會對服務器上的資源進行寫操作,因而絕大部分的網頁服務器都不支持或者在默認配置下不允許上述請求方法,對于此類請求均會回傳405錯誤,
406 Not Acceptable
請求的資源的內容特性無法滿足請求頭中的條件,因而無法生成回應物體,
407 Proxy Authentication Required
與401回應類似,只不過客戶端必須在代理服務器上進行身份驗證,代理服務器必須回傳一個 Proxy-Authenticate 用以進行身份詢問,客戶端可以回傳一個 Proxy-Authorization 資訊頭用以驗證,
408 Request Timeout
請求超時,客戶端沒有在服務器預備等待的時間內完成一個請求的發送,客戶端可以隨時再次提交這一請求而無需進行任何更改,
409 Conflict
由于和被請求的資源的當前狀態之間存在沖突,請求無法完成,這個代碼只允許用在這樣的情況下才能被使用:用戶被認為能夠解決沖突,并且會重新提交新的請求,該回應應當包含足夠的資訊以便用戶發現沖突的源頭,
410 Gone
被請求的資源在服務器上已經不再可用,而且沒有任何已知的轉發地址,這樣的狀況應當被認為是永久性的,如果可能,擁有鏈接編輯功能的客戶端應當在獲得用戶許可后洗掉所有指向這個地址的參考,如果服務器不知道或者無法確定這個狀況是否是永久的,那么就應該使用 404 狀態碼,除非額外說明,否則這個回應是可快取的,
411 Length Required
服務器拒絕在沒有定義 Content-Length 頭的情況下接受請求,在添加了表明請求訊息體長度的有效 Content-Length 頭之后,客戶端可以再次提交該請求,
412 Precondition Failed
服務器在驗證在請求的頭欄位中給出先決條件時,沒能滿足其中的一個或多個,這個狀態碼允許客戶端在獲取資源時在請求的元資訊(請求頭欄位資料)中設定先決條件,以此避免該請求方法被應用到其希望的內容以外的資源上,
413 Payload Too Large
服務器拒絕處理當前請求,因為該請求提交的物體資料大小超過了服務器愿意或者能夠處理的范圍,此種情況下,服務器可以關閉連接以免客戶端繼續發送此請求,如果這個狀況是臨時的,服務器應當回傳一個 Retry-After 的回應頭,以告知客戶端可以在多少時間以后重新嘗試,
414 URI Too Long
請求的URI 長度超過了服務器能夠解釋的長度,因此服務器拒絕對該請求提供服務,這比較少見,通常的情況包括:本應使用POST方法的表單提交變成了GET方法,導致查詢字串(Query String)過長,
415 Unsupported Media Type
對于當前請求的方法和所請求的資源,請求中提交的物體并不是服務器中所支持的格式,因此請求被拒絕,
416 Range Not Satisfiable
如果請求中包含了 Range 請求頭,并且 Range 中指定的任何資料范圍都與當前資源的可用范圍不重合,同時請求中又沒有定義 If-Range 請求頭,那么服務器就應當回傳416狀態碼,
417 Expectation Failed
此回應代碼意味著服務器無法滿足 Expect 請求標頭欄位指示的期望值,
418 I'm a teapot
服務器拒絕嘗試用 “茶壺沖泡咖啡”
421 Misdirected Request
該請求針對的是無法產生回應的服務器, 這可以由服務器發送,該服務器未配置為針對包含在請求 URI 中的方案和權限的組合產生回應,
422 Unprocessable Entity (WebDAV)
請求格式良好,但由于語意錯誤而無法遵循,
423 Locked (WebDAV)
正在訪問的資源被鎖定,
424 Failed Dependency (WebDAV)
由于先前的請求失敗,所以此次請求失敗,
425 Too Early
服務器不愿意冒著風險去處理可能重播的請求,
426 Upgrade Required
服務器拒絕使用當前協議執行請求,但可能在客戶機升級到其他協議后愿意這樣做, 服務器在 426 回應中發送 Upgrade 頭以指示所需的協議,
428 Precondition Required
原始服務器要求該請求是有條件的, 旨在防止“丟失更新”問題,即客戶端獲取資源狀態,修改該狀態并將其回傳服務器,同時第三方修改服務器上的狀態,從而導致沖突,
429 Too Many Requests
用戶在給定的時間內發送了太多請求(“限制請求速率”),
431 Request Header Fields Too Large
服務器不愿意處理請求,因為它的 請求頭欄位太大( Request Header Fields Too Large), 請求可以在減小請求頭欄位的大小后重新提交,
451 Unavailable For Legal Reasons
用戶請求非法資源,例如:由政府審查的網頁,

服務端回應

500 Internal Server Error
服務器遇到了不知道如何處理的情況,
501 Not Implemented
此請求方法不被服務器支持且無法被處理,只有GETHEAD是要求服務器支持的,它們必定不會回傳此錯誤代碼,
502 Bad Gateway
此錯誤回應表明服務器作為網關需要得到一個處理這個請求的回應,但是得到一個錯誤的回應,
503 Service Unavailable
服務器沒有準備好處理請求, 常見原因是服務器因維護或多載而停機, 請注意,與此回應一起,應發送解釋問題的用戶友好頁面, 這個回應應該用于臨時條件和 Retry-After:如果可能的話,HTTP頭應該包含恢復服務之前的估計時間, 網站管理員還必須注意與此回應一起發送的與快取相關的標頭,因為這些臨時條件回應通常不應被快取,
504 Gateway Timeout
當服務器作為網關,不能及時得到回應時回傳此錯誤代碼,
505 HTTP Version Not Supported
服務器不支持請求中所使用的HTTP協議版本,
506 Variant Also Negotiates
服務器有一個內部配置錯誤:對請求的透明內容協商導致回圈參考,
507 Insufficient Storage
服務器有內部配置錯誤:所選的變體資源被配置為參與透明內容協商本身,因此不是協商程序中的適當端點,
508 Loop Detected (WebDAV)
服務器在處理請求時檢測到無限回圈,
510 Not Extended
客戶端需要對請求進一步擴展,服務器才能實作它,服務器會回復客戶端發出擴展請求所需的所有資訊,
511 Network Authentication Required
511 狀態碼指示客戶端需要進行身份驗證才能獲得網路訪問權限,

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/251277.html

標籤:ASP.NET

上一篇:不同的方法創建的Datatable可以同名嗎?

下一篇:Windows+.Net Framework+svn+IIS在Jenkins上的自動化部署入門

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • WebAPI簡介

    Web體系結構: 有三個核心:資源(resource),URL(統一資源識別符號)和表示 他們的關系是這樣的:一個資源由一個URL進行標識,HTTP客戶端使用URL定位資源,表示是從資源回傳資料,媒體型別是資源回傳的資料格式。 接下來我們說下HTTP. HTTP協議的系統是一種無狀態的方式,使用請求/ ......

    uj5u.com 2020-09-09 22:07:47 more
  • asp.net core 3.1 入口:Program.cs中的Main函式

    本文分析Program.cs 中Main()函式中代碼的運行順序分析asp.net core程式的啟動,重點不是剖析原始碼,而是理清程式開始時執行的順序。到呼叫了哪些實體,哪些法方。asp.net core 3.1 的程式入口在專案Program.cs檔案里,如下。ususing System; us ......

    uj5u.com 2020-09-09 22:07:49 more
  • asp.net網站作為websocket服務端的應用該如何寫

    最近被websocket的一個問題困擾了很久,有一個需求是在web網站中搭建websocket服務。客戶端通過網頁與服務器建立連接,然后服務器根據ip給客戶端網頁發送資訊。 其實,這個需求并不難,只是剛開始對websocket的內容不太了解。上網搜索了一下,有通過asp.net core 實作的、有 ......

    uj5u.com 2020-09-09 22:08:02 more
  • ASP.NET 開源匯入匯出庫Magicodes.IE Docker中使用

    Magicodes.IE在Docker中使用 更新歷史 2019.02.13 【Nuget】版本更新到2.0.2 【匯入】修復單列匯入的Bug,單元測驗“OneColumnImporter_Test”。問題見(https://github.com/dotnetcore/Magicodes.IE/is ......

    uj5u.com 2020-09-09 22:08:05 more
  • 在webform中使用ajax

    如果你用過Asp.net webform, 說明你也算是.NET 開發的老兵了。WEBform應該是2011 2013左右,當時還用visual studio 2005、 visual studio 2008。后來基本都用的是MVC。 如果是新開發的專案,估計沒人會用webform技術。但是有些舊版 ......

    uj5u.com 2020-09-09 22:08:50 more
  • iis添加asp.net網站,訪問提示:由于擴展配置問題而無法提供您請求的

    今天在iis服務器配置asp.net網站,遇到一個問題,記錄一下: 問題:由于擴展配置問題而無法提供您請求的頁面。如果該頁面是腳本,請添加處理程式。如果應下載檔案,請添加 MIME 映射。 WindowServer2012服務器,添加角色安裝完.netframework和iis之后,運行aspx頁面 ......

    uj5u.com 2020-09-09 22:10:00 more
  • WebAPI-處理架構

    帶著問題去思考,大家好! 問題1:HTTP請求和回傳相應的HTTP回應資訊之間發生了什么? 1:首先是最底層,托管層,位于WebAPI和底層HTTP堆疊之間 2:其次是 訊息處理程式管道層,這里比如日志和快取。OWIN的參考是將訊息處理程式管道的一些功能下移到堆疊下端的OWIN中間件了。 3:控制器處理 ......

    uj5u.com 2020-09-09 22:11:13 more
  • 微信門戶開發框架-使用指導說明書

    微信門戶應用管理系統,采用基于 MVC + Bootstrap + Ajax + Enterprise Library的技術路線,界面層采用Boostrap + Metronic組合的前端框架,資料訪問層支持Oracle、SQLServer、MySQL、PostgreSQL等資料庫。框架以MVC5,... ......

    uj5u.com 2020-09-09 22:15:18 more
  • WebAPI-HTTP編程模型

    帶著問題去思考,大家好!它是什么?它包含什么?它能干什么? 訊息 HTTP編程模型的核心就是訊息抽象,表示為:HttPRequestMessage,HttpResponseMessage.用于客戶端和服務端之間交換請求和回應訊息。 HttpMethod類包含了一組靜態屬性: private stat ......

    uj5u.com 2020-09-09 22:15:23 more
  • 部署WebApi隨筆

    一、跨域 NuGet參考Microsoft.AspNet.WebApi.Cors WebApiConfig.cs中配置: // Web API 配置和服務 config.EnableCors(new EnableCorsAttribute("*", "*", "*")); 二、清除默認回傳XML格式 ......

    uj5u.com 2020-09-09 22:15:48 more
最新发布
  • C#多執行緒學習(二) 如何操縱一個執行緒

    <a href="https://www.cnblogs.com/x-zhi/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/2943582/20220801082530.png" alt="" /></...

    uj5u.com 2023-04-19 09:17:20 more
  • C#多執行緒學習(二) 如何操縱一個執行緒

    C#多執行緒學習(二) 如何操縱一個執行緒 執行緒學習第一篇:C#多執行緒學習(一) 多執行緒的相關概念 下面我們就動手來創建一個執行緒,使用Thread類創建執行緒時,只需提供執行緒入口即可。(執行緒入口使程式知道該讓這個執行緒干什么事) 在C#中,執行緒入口是通過ThreadStart代理(delegate)來提供的 ......

    uj5u.com 2023-04-19 09:16:49 more
  • 記一次 .NET某醫療器械清洗系統 卡死分析

    <a href="https://www.cnblogs.com/huangxincheng/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/214741/20200614104537.png" alt="" /&g...

    uj5u.com 2023-04-18 08:39:04 more
  • 記一次 .NET某醫療器械清洗系統 卡死分析

    一:背景 1. 講故事 前段時間協助訓練營里的一位朋友分析了一個程式卡死的問題,回過頭來看這個案例比較經典,這篇稍微整理一下供后來者少踩坑吧。 二:WinDbg 分析 1. 為什么會卡死 因為是表單程式,理所當然就是看主執行緒此時正在做什么? 可以用 ~0s ; k 看一下便知。 0:000> k # ......

    uj5u.com 2023-04-18 08:33:10 more
  • SignalR, No Connection with that ID,IIS

    <a href="https://www.cnblogs.com/smartstar/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/u36196.jpg" alt="" /></a>...

    uj5u.com 2023-03-30 17:21:52 more
  • 一次對pool的誤用導致的.net頻繁gc的診斷分析

    <a href="https://www.cnblogs.com/dotnet-diagnostic/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/3115652/20230225090434.png" alt=""...

    uj5u.com 2023-03-28 10:15:33 more
  • 一次對pool的誤用導致的.net頻繁gc的診斷分析

    <a href="https://www.cnblogs.com/dotnet-diagnostic/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/3115652/20230225090434.png" alt=""...

    uj5u.com 2023-03-28 10:13:31 more
  • C#遍歷指定檔案夾中所有檔案的3種方法

    <a href="https://www.cnblogs.com/xbhp/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/957602/20230310105611.png" alt="" /></a&...

    uj5u.com 2023-03-27 14:46:55 more
  • C#/VB.NET:如何將PDF轉為PDF/A

    <a href="https://www.cnblogs.com/Carina-baby/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/2859233/20220427162558.png" alt="" />...

    uj5u.com 2023-03-27 14:46:35 more
  • 武裝你的WEBAPI-OData聚合查詢

    <a href="https://www.cnblogs.com/podolski/" target="_blank"><img width="48" height="48" class="pfs" src="https://pic.cnblogs.com/face/616093/20140323000327.png" alt="" /><...

    uj5u.com 2023-03-27 14:46:16 more