HTTP状态码(HTTP Status Code)是用来表示Web服务器响应http请求状态码的数字代码。每当Web客户端向Web服务器发送一个HTTP请求时,Web服务器都会返回一个状态响应代码。这个状态码是一个三位数字代码,作用是告知Web客户端此次的请求是否成功,或者是否要采取其他的动作方式。
HTTP协议1.1版本中的状态码可以分为五大类:
1XX 提示信息 - 表示请求已被成功接收,继续处理
2XX 成功 - 表示请求已被成功接收,理解,接受
3XX 重定向 - 要完成请求必须进行进一步的处理
4XX 客户端错误 - 请求有语法错误或请求无法实现
5XX 服务器端错误 - 服务器未能实现合法的请求
生产场景常见的状态码与作用:
200 OK------最常见的就是成功响应状态码200了,这表明该请求被成功地完成,所请求的资源发送回客户端。
301------Move Permanently,永久跳转,所有请求网页将永久跳转到被设定的新位置。
403------Forbidden,禁止访问,这个请求是合法的,但是服务器端因为匹配了预先设定的规则而拒绝响应客户端的请求,此类问题一般为服务器或服务权限配置不当所致。
404------Not Found,服务器找不到客户端指定的请求页面,可能是客户端请求了服务器上不存在的资源。
500------Internal Server Error,内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求。这是一个较为笼统的报错,一般为服务器的设置或者内部程序问题导致。例如Selinux开启,而没有为http设置规则许可,客户端访问就是500。
502-----Bad Gateway,坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网关服务器。一般为反向代理服务器下面的节点出问题导致。
503 ------Service Unavailable,服务当前不可用,可能因为服务器超载或者停机维护导致,或者是反向代理服务器后面没有可以提供服务的节点。
504------Gateway Timeout,网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求,一般是服务器过载导致没有在指定的时间内返回数据给前端代理服务器。