HttpStatus状态详解

常用HttpStatus状态:
HttpStatus.OK = 200;
HttpStatus.BAD_REQUEST = 400;
HttpStatus.FORBIDDEN = 403;
HttpStatus.NOT_FOUND = 404;
HttpStatus.REQUEST_TIMEOUT = 408;
HttpStatus.SERVICE_UNAVAILABLE =500;
HttpStatus状态码详解
HttpStatus = {
//Informational 1xx 信息
‘100’ : ‘Continue’, //继续
‘101’ : ‘Switching Protocols’, //交换协议

    //Successful 2xx  成功
    '200' : 'OK',  //OK
    '201' : 'Created',  //创建
    '202' : 'Accepted',  //已接受
    '203' : 'Non-Authoritative Information',  //非权威信息
    '204' : 'No Content',  //没有内容
    '205' : 'Reset Content',  //重置内容
    '206' : 'Partial Content',  //部分内容

    //Redirection 3xx  重定向
    '300' : 'Multiple Choices',  //多种选择
    '301' : 'Moved Permanently',  //永久移动
    '302' : 'Found',  //找到
    '303' : 'See Other',  //参见其他
    '304' : 'Not Modified',  //未修改
    '305' : 'Use Proxy',  //使用代理
    '306' : 'Unused',  //未使用
    '307' : 'Temporary Redirect',  //暂时重定向

    //Client Error 4xx  客户端错误
    '400' : 'Bad Request',  //错误的请求
    '401' : 'Unauthorized',  //未经授权
    '402' : 'Payment Required',  //付费请求
    '403' : 'Forbidden',  //禁止
    '404' : 'Not Found',  //没有找到
    '405' : 'Method Not Allowed',  //方法不允许
    '406' : 'Not Acceptable',  //不可接受
    '407' : 'Proxy Authentication Required',  //需要代理身份验证
    '408' : 'Request Timeout',  //请求超时
    '409' : 'Conflict',  //指令冲突
    '410' : 'Gone',  //文档永久地离开了指定的位置
    '411' : 'Length Required',  //需要Content-Length头请求
    '412' : 'Precondition Failed',  //前提条件失败
    '413' : 'Request Entity Too Large',  //请求实体太大
    '414' : 'Request-URI Too Long',  //请求URI太长
    '415' : 'Unsupported Media Type',  //不支持的媒体类型
    '416' : 'Requested Range Not Satisfiable',  //请求的范围不可满足
    '417' : 'Expectation Failed',  //期望失败

    //Server Error 5xx  服务器错误
    '500' : 'Internal Server Error',  //内部服务器错误
    '501' : 'Not Implemented',  //未实现
    '502' : 'Bad Gateway',  //错误的网关
    '503' : 'Service Unavailable',  //服务不可用
    '504' : 'Gateway Timeout',  //网关超时
    '505' : 'HTTP Version Not Supported'  //HTTP版本不支持

};
来源一:https://blog.csdn.net/tobethebestman/article/details/55657281

201-206都表示服务器成功处理了请求的状态代码,说明网页可以正常访问。
200(成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
201(已创建) 请求成功且服务器已创建了新的资源。
202(已接受) 服务器已接受了请求,但尚未对其进行处理。
203(非授权信息) 服务器已成功处理了请求,但返回了可能来自另一来源的信息。
204(无内容) 服务器成功处理了请求,但未返回任何内容。
205(重置内容) 服务器成功处理了请求,但未返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。
206(部分内容) 服务器成功处理了部分 GET 请求。

300-3007表示的意思是:要完成请求,您需要进一步进行操作。通常,这些状态代码是永远重定向的。
300(多种选择) 服务器根据请求可执行多种操作。服务器可根据请求者 来选择一项操作,或提供操作列表供其选择。
301(永久移动) 请求的网页已被永久移动到新位置。服务器返回此响应时,会自动将请求者转到新位置。您应使用此代码通知搜索引擎蜘蛛网页或网站已被永久移动到新位置。
302(临时移动) 服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。会自动将请求者转到不同的位置。但由于搜索引擎会继续抓取原有位置并将其编入索引,因此您不应使用此代码来告诉搜索引擎页面或网站已被移动。
303(查看其他位置) 当请求者应对不同的位置进行单独的 GET 请求以检索响应时,服务器会返回此代码。对于除 HEAD 请求之外的所有请求,服务器会自动转到其他位置。
304(未修改) 自从上次请求后,请求的网页未被修改过。服务器返回此响应时,不会返回网页内容。

    如果网页自请求者上次请求后再也没有更改过,您应当将服务器配置为返回此响应。由于服务器可以告诉 搜索引擎自从上次抓取后网页没有更改过,因此可节省带宽和开销。
    305(使用代理) 请求者只能使用代理访问请求的网页。如果服务器返回此响应,那么,服务器还会指明请求者应当使用的代理。
    307(临时重定向)  服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。会自动将请求者转到不同的位置。但由于搜索引擎会继续抓取原有位置并将其编入索引,因此您不应使用此代码来告诉搜索引擎某个页面或网站已被移动。

4XXHTTP状态码表示请求可能出错,会妨碍服务器的处理。

    400(错误请求) 服务器不理解请求的语法。

    401(身份验证错误) 此页要求授权。您可能不希望将此网页纳入索引。

    403(禁止) 服务器拒绝请求。

    404(未找到) 服务器找不到请求的网页。例如,对于服务器上不存在的网页经常会返回此代码。

    例如:http://www.0631abc.com/20100aaaa,就会进入404错误页面

    405(方法禁用) 禁用请求中指定的方法。

    406(不接受) 无法使用请求的内容特性响应请求的网页。

    407(需要代理授权) 此状态码与 401 类似,但指定请求者必须授权使用代理。如果服务器返回此响应,还表示请求者应当使用代理。

    408(请求超时) 服务器等候请求时发生超时。

    409(冲突) 服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT 请求时可能会返回此代码,以及两个请求的差异列表。

    410(已删除) 请求的资源永久删除后,服务器返回此响应。该代码与 404(未找到)代码相似,但在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久删除,您应当使用 301 指定资源的新位置。

    411(需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。

    412(未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。

    413(请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

    414(请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。

    415(不支持的媒体类型) 请求的格式不受请求页面的支持。

    416(请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态码。

    417(未满足期望值) 服务器未满足"期望"请求标头字段的要求。

500至505表示的意思是:服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。

            500(服务器内部错误)  服务器遇到错误,无法完成请求。

            501(尚未实施) 服务器不具备完成请求的功能。例如,当服务器无法识别请求方法时,服务器可能会返回此代码。

            502(错误网关) 服务器作为网关或代理,从上游服务器收到了无效的响应。

            503(服务不可用) 目前无法使用服务器(由于超载或进行停机维护)。通常,这只是一种暂时的状态。

            504(网关超时)  服务器作为网关或代理,未及时从上游服务器接收请求。

            505(HTTP 版本不受支持) 服务器不支持请求中所使用的 HTTP 协议版本。

来源二:微软官网
https://technet.microsoft.com/zh-cn/library/system.net.httpstatuscode.aspx/
成员

成员名称	说明
Accepted	

等效于 HTTP 状态 202。 Accepted 指示请求已被接受进行进一步处理。

Ambiguous	

等效于 HTTP 状态 300。 Ambiguous 指示所需的信息有多种表示形式。 默认操作是将此状态视为一个重定向,并按照与此响应关联的位置标头的内容。

BadGateway	

等效于 HTTP 状态 502。 BadGateway 指示中间代理服务器从另一个代理或原始服务器接收到错误响应。

BadRequest	

等效于 HTTP 状态 400。 BadRequest 指示无法由服务器理解此请求。 BadRequest 如果没有其他错误适用,或者如果具体的错误是未知的或不具有其自己的错误代码发送。

Conflict	

等效于 HTTP 状态 409。 Conflict 指示该请求可能不会执行由于在服务器上发生冲突。

Continue	

等效于 HTTP 状态 100。 Continue 指示客户端可以继续其请求。

Created	

等效于 HTTP 状态 201。 Created 指示请求导致已发送响应之前创建一个新的资源。

ExpectationFailed	

等效于 HTTP 状态 417。 ExpectationFailed 指示无法由服务器满足 Expect 标头中给定。

Forbidden	

等效于 HTTP 状态 403。 Forbidden 指示服务器拒绝无法完成请求。

Found	

等效于 HTTP 状态 302。 Found 指示所需的信息位于的位置标头中指定的 URI。 当收到此状态时的默认操作是遵循与响应关联的位置标头。 当原始请求方法是 POST 时,重定向的请求将使用 GET 方法。

GatewayTimeout	

等效于 HTTP 状态 504。 GatewayTimeout 指示中间代理服务器在等待来自另一个代理或原始服务器的响应时已超时。

Gone	

等效于 HTTP 状态 410。 Gone 指示所请求的资源不再可用。

HttpVersionNotSupported	

等效于 HTTP 状态 505。 HttpVersionNotSupported 指示服务器不支持请求的 HTTP 版本。

InternalServerError	

等效于 HTTP 状态 500。 InternalServerError 表示在服务器上发生一般性错误。

LengthRequired	

等效于 HTTP 状态 411。 LengthRequired 指示缺少必需的内容长度标头。

MethodNotAllowed	

等效于 HTTP 状态 405。 MethodNotAllowed 指示请求方法 (POST 或 GET) 不允许对所请求的资源。

Moved	

等效于 HTTP 状态 301。 Moved 指示已将所需的信息移动到的位置标头中指定的 URI。 当收到此状态时的默认操作是遵循与响应关联的位置标头。 当原始请求方法是 POST 时,重定向的请求将使用 GET 方法。

MovedPermanently	

等效于 HTTP 状态 301。 MovedPermanently 指示已将所需的信息移动到的位置标头中指定的 URI。 当收到此状态时的默认操作是遵循与响应关联的位置标头。

MultipleChoices	

等效于 HTTP 状态 300。 MultipleChoices 指示所需的信息有多种表示形式。 默认操作是将此状态视为一个重定向,并按照与此响应关联的位置标头的内容。

NoContent	

等效于 HTTP 状态 204。 NoContent 指示已成功处理请求和响应是有意留为空白。

NonAuthoritativeInformation	

等效于 HTTP 状态 203。 NonAuthoritativeInformation 指示返回的元信息来自而不是原始服务器的缓存副本,因此可能不正确。

NotAcceptable	

等效于 HTTP 状态 406。 NotAcceptable 表示客户端已指定使用 Accept 标头,它将不接受任何可用的资源表示。

NotFound	

等效于 HTTP 状态 404。 NotFound 指示所请求的资源不存在的服务器上。

NotImplemented	

等效于 HTTP 状态 501。 NotImplemented 指示服务器不支持所请求的功能。

NotModified	

等效于 HTTP 状态 304。 NotModified 指示客户端的缓存的副本是最新。 不会传输资源的内容。

OK	

等效于 HTTP 状态 200。 OK 指示请求成功,且请求的信息包含在响应中。 这是要接收的最常见状态代码。

PartialContent	

等效于 HTTP 206 状态。 PartialContent 指示根据包括字节范围的 GET 请求的请求的响应是部分响应。

PaymentRequired	

等效于 HTTP 状态 402。 PaymentRequired 已保留供将来使用。

PreconditionFailed	

等效于 HTTP 状态 412。 PreconditionFailed 表示失败,此请求的设置的条件,无法执行请求。 使用条件请求标头,如果匹配项,如设置条件无-If-match,或如果-修改-自从。

ProxyAuthenticationRequired	

等效于 HTTP 状态 407。 ProxyAuthenticationRequired 指示请求的代理要求身份验证。 代理服务器进行身份验证标头包含如何执行身份验证的详细信息。

Redirect	

等效于 HTTP 状态 302。 Redirect 指示所需的信息位于的位置标头中指定的 URI。 当收到此状态时的默认操作是遵循与响应关联的位置标头。 当原始请求方法是 POST 时,重定向的请求将使用 GET 方法。

RedirectKeepVerb	

等效于 HTTP 状态 307。 RedirectKeepVerb 指示请求信息位于的位置标头中指定的 URI。 当收到此状态时的默认操作是遵循与响应关联的位置标头。 当原始请求方法是 POST 时,重定向的请求还将使用 POST 方法。

RedirectMethod	

等效于 HTTP 状态 303。 RedirectMethod 自动将客户端重定向到的位置标头中指定作为公告的结果的 URI。 对指定的位置标头的资源的请求将会执行与 GET。

RequestedRangeNotSatisfiable	

等效于 HTTP 416 状态。 RequestedRangeNotSatisfiable 指示从资源请求的数据范围不能返回,或者因为范围的开始处,然后该资源的开头或范围的末尾后在资源的结尾。

RequestEntityTooLarge	

等效于 HTTP 状态 413。 RequestEntityTooLarge 指示请求来说太大的服务器能够处理。

RequestTimeout	

等效于 HTTP 状态 408。 RequestTimeout 指示客户端的服务器预期请求的时间内没有未发送请求。

RequestUriTooLong	

等效于 HTTP 状态 414。 RequestUriTooLong 指示 URI 太长。

ResetContent	

等效于 HTTP 状态 205。 ResetContent 指示客户端应重置 (而不是重新加载) 的当前资源。

SeeOther	

等效于 HTTP 状态 303。 SeeOther 自动将客户端重定向到的位置标头中指定作为公告的结果的 URI。 对指定的位置标头的资源的请求将会执行与 GET。

ServiceUnavailable	

等效于 HTTP 状态 503。 ServiceUnavailable 指示将服务器暂时不可用,通常是由于高负载或维护。

SwitchingProtocols	

等效于 HTTP 状态为 101。 SwitchingProtocols 指示正在更改的协议版本或协议。

TemporaryRedirect	

等效于 HTTP 状态 307。 TemporaryRedirect 指示请求信息位于的位置标头中指定的 URI。 当收到此状态时的默认操作是遵循与响应关联的位置标头。 当原始请求方法是 POST 时,重定向的请求还将使用 POST 方法。

Unauthorized	

等效于 HTTP 状态 401。 Unauthorized 指示所请求的资源需要身份验证。 Www-authenticate 标头包含如何执行身份验证的详细信息。

UnsupportedMediaType	

等效于 HTTP 状态 415。 UnsupportedMediaType 指示该请求是不受支持的类型。

Unused	

等效于 HTTP 状态 306。 Unused 是对未完全指定的 HTTP/1.1 规范建议的扩展。

UpgradeRequired	

等效于 HTTP 状态 426。 UpgradeRequired 指示客户端应切换到不同的协议,例如 TLS/1.0。

UseProxy	

等效于 HTTP 状态 305。 UseProxy 指示该请求应使用的位置标头中指定的 uri 的代理服务器。

备注

HttpStatusCode 枚举包含用于 HTTP 1.1 RFC 2616 中定义的状态代码的值。

中包含的 HTTP 请求的状态 HttpWebResponse.StatusCode 属性。

示例

下面的示例将返回的状态进行比较 HttpWebResponse 的成员 HttpStatusCode 类来确定响应的状态。

HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(“http://www.contoso.com”);
httpReq.AllowAutoRedirect = false;

HttpWebResponse httpRes = (HttpWebResponse)httpReq.GetResponse();

if (httpRes.StatusCode==HttpStatusCode.Moved)
{
// Code for moved resources goes here.
}

// Close the response.
httpRes.Close();

来源三 百度百科
https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin
这个解释的更详细。

HTTP状态码 编辑
HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。

  • 9
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XMLHttpRequest 是 JavaScript 中用于发送 HTTP 请求的对象。它可以用于与服务器进行通信,获取数据或发送数据。下面是一个对 XMLHttpRequest 的详细解释: XMLHttpRequest 是一个内置的 JavaScript 对象,它提供了一种简单而灵活的方式来发送异步请求。通过使用该对象,浏览器可以在后台与服务器进行通信,而不会影响用户界面的交互。 XMLHttpRequest 对象的使用流程如下: 1. 创建 XMLHttpRequest 对象:使用 new 关键字创建 XMLHttpRequest 对象,如下所示: ```javascript var xhr = new XMLHttpRequest(); ``` 2. 设置请求参数:设置请求的方法、URL 和是否使用异步方式。常见的请求方法有 GET 和 POST,URL 则是指要发送请求服务器地址。通过调用 `open` 方法设置这些参数,如下所示: ```javascript xhr.open('GET', 'https://example.com/api/data', true); ``` 3. 设置响应处理函数:通过设置 `onload`、`onerror` 和 `onreadystatechange` 等属性,来定义请求完成后的响应处理函数。这些函数会在请求成功、失败或状态发生变化时被触发。 ```javascript xhr.onload = function() { // 请求成功后的处理逻辑 }; xhr.onerror = function() { // 请求失败后的处理逻辑 }; xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { // 请求成功后的处理逻辑 } else { // 请求失败后的处理逻辑 } } }; ``` 4. 发送请求:使用 `send` 方法发送请求。对于 GET 请求,可以直接发送,而对于 POST 请求,则需要将要发送的数据作为参数传递给 `send` 方法。 ```javascript xhr.send(); ``` 以上就是使用 XMLHttpRequest 的基本流程。接下来是一些可能会引发问题的情况和相关问题: 相关问题: 1. 如何发送带有参数的 POST 请求? 2. 如何处理跨域请求? 3. 如何处理异步请求的并发控制?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值