HTTP状态码

HTTP状态码

HTTP状态码能够表示客户端HTTP请求的返回结果和服务器是否正常处理了请求.

HTTP状态码由3位数字和原因短语组成, 如200 OK. 数字中的第一位表明了响应类别.

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

2XX 成功

2XX表示请求被正常处理.

200 OK

表示服务器正常处理了请求. 在响应报文中, 随状态码一起返回的信息因方法不同而不同. 例如, GET时, 对应请求资源的实体为响应返回, HEAD时, 只返回首部, 不返回实体的主体部分.

204 No Content

表示服务器已经成功处理了请求, 但是返回的响应报文中没有实体部分, 另外也不允许返回任何实体的主体. 一般在只需要客户端往服务器发送信息, 而不需要向客户端发送新内容时使用.

206 Partial Content

表示客户端进行了范围请求, 服务器成功执行了这部分GET请求. 响应报文中包含由Content-Range指定范围的实体内容.

3XX 重定向

3XX表示需要执行一些特殊的处理来正确处理请求.

301 Moved Permanently

永久重定向. 表示请求的资源被分配了新的URI, 以后要使用资源现在所指的URI.

302 Found

临时性重定向. 表示请求的资源被分配了新的URI, 但是希望本次能使用新的URI访问.

303 See Other

表示请求的资源存在着另一个URI, 应该使用GET方法定向获取请求的资源.

302和303有相同的功能, 但是303表示客户端应该采用GET方法获取资源, 这点与302不同.

301, 302, 303返回时, 几乎所有的浏览器都会把POST改成GET, 删除请求报文的主体, 之后请求会自动再次发送.

304 Not Modified

表示客户端发送附带条件的请求, 服务器允许请求访问资源, 但是为满足条件. 304返回时, 不包含任何响应的主体部分.

307 Temporary Redirect

临时重定向. 与302有相同的含义, 但307会按照浏览器标准, 不会把POST变成GET.

4XX 客户端错误

4XX表示客户端发生了错误.

400 Bad Request

表示请求报文中存在语法错误, 需要修改请求再次发送.

401 Unauthorized

表示发送的请求需要有通过HTTP认证的认证信息. 如果之前已经进行过一次请求, 则表示认证失败.

403 Forbidden

表示请求资源的访问被服务器拒绝. 服务器拒绝的理由可以在实体的主体部分描述.

没有获得文件系统的访问授权, 访问权限出现问题等都可能返回403.

404 Not Found

表示服务器上没有找到请求的资源, 也可以在服务器拒绝请求且不想说明理由时使用.

5XX 服务器错误

5XX表示服务器发生了错误.

500 Internal Server Error

表示服务器在处理请求时发生了错误, 可能是web应用存在的bug或者临时的故障.

502 Bad Gateway

表示网关错误, 服务器没有起来,应用服务的问题. 应用服务一种是应用本身的问题, 另一种是依赖服务问题, 比如依赖服务有大的读取以至于调用方超过超时read时间, 或者服务集群压力太大等.

503 Service Unavailable

表示服务器暂时处于超负载或者正在停机维护, 现在无法处理请求,

504 Gateway Time-out

网关超时. 一般计算机中的超时就是配置错了, 一般指nginx做反向代理服务器时, 所连接的服务器无响应所致.

与502相比, 504表示与后端连接没有建立, 超时. 而502表示与后端已经建立了连接, 但是超时.

作者:凯旋.Lau
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/KX-Lau/p/12542531.html