HTTP状态码

作者: 厂厂哥 | 来源:发表于2018-06-27 16:14 被阅读48次
404

HTTP状态码负责表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。
可以把状态码分为以下几类:

范围 类别 原因短句
1XX 信息性状态码 接受的请求正在处理
2XX 成功状态码 请求正常处理完毕
3XX 重定向状态码 需要进行附加操作以完成请求
4XX 客户端错误代码 服务器无法处理请求
5XX 服务器错误状态码 服务器处理请求出错

只要遵循状态码的类别,即使改变RF2616中定义的状态码,或者服务端自行创建状态码都是没有问题的。
接下来介绍具有代表性的状态码。

1XX信息

100:Continue,收到部分请求,应该继续请求
101:Switch protocols,客户要求服务器根据请求转换HTTP协议版本

2XX成功

200:OK,服务器正常处理请求
201:Created,提示知道新文件的URL
202:Accepted,请求已经接受,但没有完成处理
203:Non-Authoritative Information,服务器成功处理事务,只是实体包含的信息可能不是来自原始服务器,而是来自资源的副本
204:No Content,服务器接受的请求以成功受理,但是返回的响应报文中不包含实体的主体部分,另外,也不允许返回任何实体的主体
205:Reset Content,没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容
206:Partial Content,客户端进行了范围请求,而服务器成功执行了这部分的GET请求

3XX重定向

300:Multiple Choices,客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明
301:Moved Permanently,永久重定向,该状态码表示请求的资源已被分配了新的URI
302:Found,临时重定向,客户端可以使用Location首部给出的URL对资源进行临时定位
303:See Other,由于请求对应的资源存在另一个URI,应使用GET方法定向获取请求资源
304:Not Modified,客户端发送附带条件的请求时,服务器端允许请求访问资源,但发生条件没有满足条件(服务器资源未改变,可直接使用客户端未过期的缓存)
305:Use Proxy,通过代理访问资源,代理的位置在Location首部中被提及
307:Temporary Redirect,临时重定向,与302有相同含义。但307会遵照浏览器标准,不会从POST变成GET,302不一定

4XX客户端错误

400:Bad request,请求报文存在语法错误
401: Unauthorized,发送的请求需要有通过HTTP认证的认证信息。另外若之前已经进行过1次请求,则表示用户认证失败
403:Forbidden,对资源的访问被服务器拒绝了
404:Not Found,服务器上没有找到请求资源。除此之外,也可以在服务器拒绝请求且不想说明理由时使用
405:Method Not Allowed,不允许使用的方法,请求中有一个不支持的方法,响应中应该包含一个Allow首部,已告知客户端所请求的资源支持的方法
406:Not Acceptable,无法接受,指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容
407:Proxy Authentication Required,类似于401,表示客户要进行代理认证
408:Request Timeout,在服务器许可的等待时间内,客户一直没有发出任何请求。客户可以在以后重复同一请求
409:Conflict,发出的请求在资源上造成了一些冲突,通常与PUT请求有关
410:Gone,所请求的文档已经不再可用,而且服务器不知道应该重定向到哪一个地址。它和404的不同在于,返回407表示文档永久地离开了指定的位置,而 404表示由于未知的原因文档不可用
411:Length Require,要求长度指示,服务器要求请求报文中包含Content-Length首部,没有该首部则返回该代码
412:Precondition Failed,前提条件失败,客户端发起条件请求,服务器无法满足某个条件,则返回该代码
413:Request Entity Too Large,目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求,则应该提供一个Retry-After头
414:Request URI Too long,URI太长
415:Unsuportted Media Type,不支持的媒体类型
416:Requested Range Not Satisfiable,服务器不能满足客户在请求中指定的Range头
417:Expectation Failed,服务器遇到未知情况,不能完成客户的请求

5XX服务端错误

500:Internal Server Error,服务器端在执行请求时发生错误。也有可能是Web应用存在的bug或某些临时的故障
501:Not Implemented,服务器无法满足客户端请求的某个功能
502:Bad Gateway,服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答
503:Service Unavaiable,服务器暂时处于超负荷状态或者正在进行停机维护,现在无法处理请求。如果事先得知解除以上情况所需要的时间,最好写入Retry-After首部字段再返回给客户端
504:Gateway Timeout,由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。,与408类似
505:HTTP Version Not Supported,服务器不支持请求的HTTP版本

相关文章

  • http状态码

    本篇关于http状态码 目录 http状态码分类 HTTP状态码列表 备注 http状态码分类 HTTP状态码列表 备注

  • http状态码书目录

    http状态码之100 http状态码之101 http状态码之102 http状态码之200 http状态码之2...

  • HTTP状态码大全

    HTTP状态码大全 HTTP 状态码 HTTP Status Code HTTP状态码大全[#http%E7%8A...

  • HTTP状态码

    HTTP状态码分类 HTTP状态码列表

  • HTTP协议的状态消息

    HTTP状态码分类: 常见HTTP状态码:

  • 说说HTTP状态码

    引用 记得被 404 支配的恐惧么?引用 HTTP状态码引用 说说HTTP状态码 概述 HTTP状态码(HTTP ...

  • HTTP状态码

    100 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当...

  • HTTP状态码

    作为开发人员,经常和服务端进行数据交互,必然涉及到网络请求,对于HTTP状态码的熟悉也是必要的。下面就针对HTTP...

  • Http状态码

    http的状态码有很多不常见的,而我们能碰到的也就只有这么几个,经常还是很容易忘记的 . 为了以免以后碰到服务器返...

  • HTTP状态码

    100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。10...

网友评论

    本文标题:HTTP状态码

    本文链接:https://www.haomeiwen.com/subject/esnbyftx.html