1xx 接受
(信息性状态码) 接受的请求正在处理
100 Continue。信息型状态响应码表示目前为止一切正常
101 Switching Protocols。状态码表示服务器应客户端升级协议的请求(Upgrade 请求头)正在切换协议
2xx 成功
请求正常处理完毕
200 OK。客户端发来的请求在服务器端被正常处理了
201 Created。代表成功的应答状态码,表示请求已经被成功处理,并且创建了新的资源
204 No Content。服务器接收的请求已成功处理,但是返回的响应报文中不含实体的主体部分,另外,也不允许返回任何实体的主体
在 PUT 请求中进行资源更新,但是不需要改变当前展示给用户的页面,那么返回 204 No Content。如果创建了资源,则返回 201 Created
206 Partial Content。客户端进行了范围请求,而服务器成功执行了这部分的 Get 请求,响应报文中包含 Content-Range 指定范围的实体内容
3xx 重定向
需要进行附加操作已完成请求
301 Moved Permanently。永久性重定向,请求的资源已经被移动到了由 Location 头部指定的 url 上,是固定的不会再改变
302 Found。临时性重定向,请求的资源被暂时的移动到了由该 HTTP 响应的响应头 Location 指定的 URL 上
303 See Other。表示由于请求对应的资源错在着另一个URI,应用GET方法定性获取请求的资源
304 Not Modified。无需再次传输请求的内容,也就是说可以使用缓存的内容
附带条件的请求是指采用 GET 方法的请求报文中包含 If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since 中任一的首部
307 Temporary Redirect。临时重定向
状态码 307 与 302 之间的唯一区别在于,当发送重定向请求的时候,307 状态码可以确保请求方法和消息主体不会发生变化
308 Permanent Redirect。永久重定向
在重定向过程中,请求方法和消息主体不会发生改变,然而在返回 301 状态码的情况下,请求方法有时候会被客户端错误地修改为 GET 方法
4xx 客户端错误
服务器无法处理请求
400 Bad Request。服务器因某些被认为是客户端错误的原因,如:请求语法错误、无效请求消息格式或者欺骗性请求路由
401 Unauthorized。由于缺乏目标资源要求的身份验证凭证,发送的请求未得到满足
- UnauthorizedError 令牌不符合规范(没有以 Bearer 开头)、jwt 加解密密钥不同
- JsonWebTokenError 伪造不合法的令牌(可能性比较多,除了 UnauthorizedError 那些情况)、签名不对(Header 或 Payload 任意一个地方发生改变)
- TokenExpiredError 令牌过期
403 Forbidden。服务器端有能力处理该请求,但是拒绝授权访问
404 Not Found。服务器无法找到所请求的资源
405 Method Not Allowed。服务器禁止了使用当前 HTTP 方法的请求
406 Not Acceptable。内容协商,客户端与服务期端协商需要什么样的资源,比如语言(中文/英文)
Accept-Language
、压缩编码Accept-Encoding
以及媒体类型,如果服务器无法返回对应的资源
5xx 服务器错误
服务器处理请求错误
500 Internal Server Error。表示服务器遇到意外的情况并阻止其执行请求
502 Bad Gateway。表示作为网关或代理的服务器,从上游服务器中接收到的响应是无效的
配置
proxy_connect_timeout
(代理服务器与后端服务器建立连接的超时时间)- 配置小于 2s 则无法看出来效果,因为连接超时
- 如果 2s 连接不上则会出现 502
503 Service Unavailable。表示服务器暂时处于超负载或正在进行停机维护,不太好模拟
504 Gateway Timeout。表示扮演网关或者代理的服务器无法在规定的时间内获得想要的响应
解决方法:配置
proxy_read_timeout
,如果没有解决请检查域名或者查找其他配置