HTTP状态码

Posted 码出境界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP状态码相关的知识,希望对你有一定的参考价值。

一、关于本文

文章主要是分两个部分,首先是对HTTP状态码的概述。后面是对常用的14个状态码的具体讲解。

 

二、对HTTP状态码的概述概述

状态码的职责是当客户端向服务端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器是正常处理了请求,还是出现了错误。

状态码如200 OK,以三位数字和原因短语组成。

数字中的第一位指定了响应类别,后两位无分类。响应类别有以下五种:

  类别 原因短语
1XX Informational(信息性状态码) 接受的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求错误

 

只要遵循状态码类别的定义,即使改变RFC2616中定义的状态码,或服务器自行创建状态码都没有问题。

仅记录在RFC2616上的HTTP状态码就达40种,若在加上WebDAV(RFC4918、5842)和附加HTTP状态码(RFC6585)等扩展,数量就达到60余种。虽然种类繁多,实际上经常使用的大概只有14种。

 

三、常用的14个状态码

1、200 OK204 No Content206 Partial Content

如果发起一个网络请求,返回的是200。就说明,这次的网络请求服务器正常处理好了,并且也按照客户端的要求返回了所有信息,也算是掏心掏肺的交代了。为什么说是‘按照客户端的要求’?因为如果客户端使用的是HEAD方法请求网络,就算服务器的确可以返回一些实体信息的,既然客户端主动不要,那服务器肯定也就不返回了。

如果发起一个网络请求,返回的是204。就说明,这次的网络请求服务器正常处理了,但是不会返回任何实体的主体。原因是不被允许,这样的话,用户是不知道究竟有没有信息可以返回给客户端的,也许有,也许无,但是不得而知。比如,返回验证码的接口,本来是可以返回正确验证码的,但是频繁的操作,服务器就会发送204。

如果发起一个网络请求,返回的是206。就说明,客户端进行了范围请求,并且服务器成功执行了这部分的GET请求。响应报文中包含由Content-Range指定范围的实体内容。206与200类似,只是206更能体现这次的网络请求行为。

 

2、301 Moved Permanently302 Found303 See Other304 Not Modified307 Temporary Redirect

 

3、400 Bad Request401 Unauthorized403 Forbidden404 Not Found

 

4、500 Internal Server Error503 Service Unavailable

 

以上是关于HTTP状态码的主要内容,如果未能解决你的问题,请参考以下文章

http状态码分类以及常见状态码分析

HTTP状态码

Http状态码:简单获取http状态码

HTTP状态码404是啥意思?

http协议的状态码 200301304404502 HTTP状态码解释

http协议状态码及其意义