HTTP状态码

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 Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。有些 App...
    咖啡绿茶1991阅读 6,605评论 0 7
  • HTTP状态码的分类 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的...
    薄凉_简书阅读 3,635评论 0 1
  • HTTP状态码(HTTP Status Code)表示http服务器对与请求HTTP响应状态的3位数字代码。它由 ...
    BeeNoisy阅读 5,814评论 0 8
  • 1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信...
    执着的小蛋挞阅读 1,079评论 0 0
  • 《从远古文字的由来诠释“众”与“筹”》 网上有句热语:“不懂众筹,你将错过一个时代”。但若要我真正搞懂众筹,...
    冯志慧阅读 5,148评论 0 0