HTTP状态码
1xx
信息性状态码,表示请求已被接收,需要继续处理。
- 100 Continue
- 101 Switching Protocols
当服务器返回101状态码时,它通常还会发送一个”Upgrade”响应头 ,例如,客户端可能请求将HTTP协议切换到WebSocket协议
2xx
成功状态码,表示请求已成功被服务器接收、理解并接受。
- 200 OK
- 201 Created
- 202 Accepted
表示服务器已经接收到请求,并且正在处理它,但是尚未完成;异步,队列场景
- 204 No Content
返回204状态码的响应通常不包含消息体,但可以包含头部信息 ; 删除操作
3xx
重定向状态码,表示需要进一步的操作以完成请求。
- 301 Moved Permanently
当服务器返回301状态码时,它通常会在响应头中包含一个Location
字段,指示新的URL。客户端(如浏览器)会自动使用这个新的URL重新发起请求。域名更改场景
- 302 Found
由于302是一个临时重定向,客户端在未来的请求中应该继续使用原始URL;临时URL变更,登录或认证,负载均衡,避免重复提交场景
- 304 Not Modified
通常与HTTP头 If-Modified-Since
或 If-None-Match
一起使用,以实现缓存优化
Cache-Control
:提供关于资源缓存的指令。
ETag
:资源的特定版本的标识符,用于条件请求。
Last-Modified
:资源上次修改的日期和时间
4xx
客户端错误状态码,表示请求包含语法错误或无法完成请求。
- 400 Bad Request
表示客户端发送的请求中存在语法错误或请求无法被服务器理解; 无效的请求(参数url,请求体,编码,http/https)场景
- 401 Unauthorized
请求没有包含身份验证凭据,或者所包含的凭据无效;未认证,认证失败,权限不足,Token过期场景
- 403 Forbidden
表示服务器理解了客户端的请求,但是拒绝执行它; 权限不足场景
- 404 Not Found
表示服务器无法找到请求的资源,请求的URL不存在;URL错误,资源已删除,路径不正确场景
- 405 Method Not Allowed
表示客户端请求中使用的方法(如GET、POST、PUT、DELETE等)对于请求的资源是不被允许的;API限制请求方法场景
5xx
服务器错误状态码,表示服务器在尝试处理请求时遇到了错误。
- 500 Internal Server Error
表示服务器在尝试处理请求时遇到了内部错误,导致无法完成该请求;服务器端错误,数据库问题,系统维护场景
- 501 Not Implemented
表示服务器不支持请求的HTTP方法,或者服务器无法满足请求的某些参数;未实现的功能,服务器配置问题场景
- 502 Bad Gateway
表示作为网关或代理的服务器,在尝试执行请求时,从上游服务器(如HTTP、HTTPS、FTP或另一个代理)接收到了一个无效的响应
网关问题,上游服务器故障,网络问题,协议不兼容场景
- 503 Service Unavailable
表示服务器目前无法处理请求,通常是由于服务器过载或正在进行维护;过载保护,依赖服务故障场景
- 504 Gateway Timeout
表示作为网关或代理的服务器,在尝试执行请求时,未能在规定时间内从上游服务器(如HTTP、HTTPS、FTP或其他代理服务器)接收到响应
上游服务器(响应慢/不可用),网络延迟,资源限制场景