张芷铭的个人博客

HTTP 状态码是服务器对客户端请求的响应状态标识,由 3 位数字组成,首位数字决定核心类别。

状态码分类

类别首位含义
信息性1xx请求已接收,正在处理
成功2xx请求成功处理完成
重定向3xx需要额外跳转操作
客户端错误4xx请求本身存在问题
服务器错误5xx服务器内部异常

1xx 信息性状态码

状态码名称含义场景
100Continue继续发送客户端询问服务器是否接受请求体
101Switching Protocols协议切换HTTP 切换为 WebSocket
102Processing正在处理长时间任务处理中

2xx 成功状态码

状态码名称含义场景
200OK通用成功GET/POST 请求成功
201Created资源创建成功POST 新建资源
202Accepted请求已接收异步任务场景
204No Content成功无响应体DELETE/PUT 成功
206Partial Content部分内容断点续传、分片下载

3xx 重定向状态码

状态码名称类型含义
301Moved Permanently永久资源永久迁移,搜索引擎更新索引
302Found临时资源临时迁移
303See Other临时强制 GET 跳转,解决表单重复提交
304Not Modified-协商缓存命中,使用本地缓存
307Temporary Redirect临时保留原请求方法的跳转
308Permanent Redirect永久保留原请求方法的永久跳转

4xx 客户端错误

状态码名称含义
400Bad Request请求格式或参数错误
401Unauthorized需要身份验证
403Forbidden已验证但无权限访问
404Not Found资源不存在
405Method Not Allowed请求方法不被允许
408Request Timeout请求超时
409Conflict请求与资源状态冲突
413Payload Too Large请求体过大
429Too Many Requests请求过于频繁

5xx 服务器错误

状态码名称含义
500Internal Server Error服务器内部错误
501Not Implemented功能未实现
502Bad Gateway网关收到无效响应
503Service Unavailable服务暂时不可用
504Gateway Timeout网关等待超时
505HTTP Version Not SupportedHTTP 版本不支持

关键区分

对比区别
301 vs 302前者永久,搜索引擎更新索引;后者临时
401 vs 403前者未验证身份;后者已验证但无权限
502 vs 504前者上游返回无效响应;后者上游未按时响应
200 vs 204前者返回业务数据;后者仅告知成功

Comments