常见的http状态码
文章目录
- 1xx(信息性状态码)
- 概述
- 100 Continue
- 2xx(成功状态码)
- 概述
- 200 OK
- 204 Not Content
- 3XX(重定向状态码)
- 概述
- 301 Moved Permanently
- 302 Found
- 304 Not Modified
- 4XX(客户端错误状态码)
- 概述
- 400 Bad Request
- 401 Unauthorized:
- 403 Forbidden
- 404 Not Found
- 5XX(服务器错误状态码)
- 概述
- 500 Internal Server Error
- 502 Bad Gateway
- 503 Server Unavailable

1xx(信息性状态码)
概述
信息性状态码,通常用于调试和中间状态,表示请求已接受,继续处理
100 Continue
服务器已经收到请求的头部,客户端可以继续发送请求体
2xx(成功状态码)
概述
成功状态码,表示请求已经被成功接受、理解和接受。
200 OK
客户端请求成功
- 场景
如果没有返回预期的资源,可能是后端逻辑错误或数据问题
204 Not Content
请求成功,但是服务器没有返回任何内容
- 场景
如果客户端期望返回内容,可能是后端逻辑错误或数据为空
3XX(重定向状态码)
概述
重定向,要完成请求必须进行更进一步的操作
301 Moved Permanently
请求的资源已永久移动到新的url
- 场景
- 1、客户端请求的URL可能已被服务器永久重定向到新的地址。前端代码可能未正确处理重定向逻辑。
- 2、服务器配置的重定向规则不正确
302 Found
请求的资源临时移动到新的url
- 场景
- 1、客户端请求的url可能被服务器重定向到新的地址,但是前端代码可能未正确处理重定向逻辑
- 2、服务器配置了临时重定向规则
304 Not Modified
请求的资源未被修改,客户端可以使用缓存的版本
- 场景
- 1、如果资源已被修改,但返回了304,可能是缓存逻辑错误
- 2、如果资源未被修改,但是返回了200,可能是缓存逻辑未正确实现
4XX(客户端错误状态码)
概述
客户端错误,请求有语法错误或请求无法实现
400 Bad Request
客户端请求有语法错误,不能被服务器所理解
- 场景
- 1、客户端发送了格式错误的请求,例如缺少必填字段、字段格式不正确、url编码错误等
- 2、服务端未正确处理异常输入
- 3、服务端验证逻辑可能存在问题
401 Unauthorized:
请求未经授权,需要身份验证
- 场景
- 1、客户端未提供正确的认证信息,如用户名/密码错误,token过期等
- 2、服务端认证逻辑存在问题,例如未正确处理token验证、认证机制配置错误等
此时在测试时可以使用不同的认证信息(如有效、无效、过期)进行测试,验证认证逻辑是否正确
403 Forbidden
服务器收到请求,但是拒绝提供服务
- 场景
- 1、客户端有权限访问服务器,但是没有权限访问请求的资源
- 2、服务端权限控制逻辑可能存在问题,例如用户角色或权限不足
- 3、防火墙或安全策略阻止了请求
404 Not Found
请求资源不存在,如输入了错误的url
- 场景
- 1、客户端请求的url错误或拼写错误
- 2、客户端请求的资源已被删除或移动
- 3、服务端路由配置错误
5XX(服务器错误状态码)
概述
服务器错误,服务端未能实现合法的请求
一般跟前端都没啥关系了,主要是服务端的问题
500 Internal Server Error
服务器内部错误,无法完成请求
- 场景
- 1、后端代码存在逻辑错误或异常
- 2、数据库连接失败或查询错误
- 3、第三方服务调用失败
- 4、服务器资源不足,例如内存溢出
502 Bad Gateway
服务器作为网关或代理时,从上游服务器收到无效响应
- 场景
- 1、上游服务器(如api网关、微服务)返回了错误响应
- 2、网关或代理配置错误
- 3、网络问题导致请求失败
503 Server Unavailable
服务器当前不能处理客户端的请求,一段时间后可能恢复正常
- 场景
- 1、服务器资源不足(如线程池满,内存不足)
- 2、服务正在维护或重启
- 3、负载均衡器未正确分配流量