HTTP 协议状态码-5XX

5XX 指的是请求出错了,而且很有可能是服务端侧的异常。下面定义的状态码有时候也只能反应一个大概情况,而不一定确切的,主要是协助用户排查问题。

500 Internal Server Error

这是一个很常见的错误码,但这个错误码比较笼统,服务内容异常情况非常多,可能是代码问题,也可能是服务器资源问题等。如果是 500 的错误异常的话,后端开发的接口通常会把更详细的错误内容放在响应消息体里面。

501 Not Implemented

服务端不支持当前请求的某些功能,跟客户端异常 405 有点相似,只是 405 的情况侧重在客户端请求 Method 错误,而 501 侧重在,客户端请求的方法没问题,服务端本身有规划这个功能,但是还未实现。

502 Bad Gateway

Gateway 网关,软件架构中的网关跟网络路由器里面的网关有所不同,不能混为一体。软件架构的网关通常指的是靠近用户侧用于分发请求的代理服务,如 Nginx 作为代理接收请求,再分发到后面的具体服务提供者。

502 的状态指的是代理服务器正常,但是代理要去访问源站服务提供者发生错误了,代理服务器接收到无效的应答。

503 Service Unavailable

由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟时间。

HTTP/1.1 503 Service Unavailable
Content-Type text/plain
Retry-After: 1800

504 Gateway Timeout

网关请求源站时间超时。

505 HTTP Version Not Supported

服务器不支持请求中所指明的HTTP版本。

506 Variant Also Negotiates

一般客户端和服务端内容格式协商是在请求头部添加一系列的 Accept-*首部字段。当服务端有多个可选择的资源时会返回 300 Multiple Choices。当服务端由于某种异常无法提供客户端的请求项时,它可能会努力下,尝试返回一些资源选项让客户端去选。

507 Insufficient Storage

告诉客户端他们的 POST 或者 PUT 请求无法被成功,可能是因为传输的实体太大,服务端的磁盘有限。

509 Bandwidth Limit Exceeded

服务器达到带宽限制。

510 Not Extended

RFC 中一个实验性的协议,服务端要求客户端使用一个扩展性的协议,但是客户端没有。目前基本没用到。

511 Network Authentication Required

告诉客户端连接的网络需要认证,可能所连接的 Wi-Fi 还没经过认证。