HTTP状态码用于表示客户端请求的响应状态,分为五类。以下是各类状态码的详细解读:1xx(信息响应)100 Continue服务器已收到请求头,客户端应继续发送请求体(用于大文件上传前的确认)
HTTP状态码用于表示客户端请求的响应状态,分为五类。以下是各类状态码的详细解读:
1xx(信息响应)
-
100 Continue
服务器已收到请求头,客户端应继续发送请求体(用于大文件上传前的确认)。 -
101 Switching Protocols
服务器根据客户端请求切换协议(如升级到WebSocket)。 -
102 Processing
服务器已接受请求但处理尚未完成(用于长时间操作,如异步处理)。 -
103 Early Hints
服务器提前返回部分响应头,提示客户端预加载资源。
2xx(成功)
-
200 OK
请求成功,返回对应资源(GET/POST常见)。 -
201 Created
资源创建成功(POST/PUT后返回,通常包含新资源的URL)。 -
202 Accepted
请求已接受但未处理完成(适用于异步任务)。 -
204 No Content
请求成功,但无返回内容(如DELETE请求)。 -
206 Partial Content
部分内容响应(用于分块下载或断点续传)。
3xx(重定向)
-
301 Moved Permanently
资源永久重定向到新URL,客户端应更新书签。 -
302 Found
资源临时重定向到新URL,客户端应保持原URL。 -
303 See Other
强制客户端使用GET方法访问新URL(避免重复提交POST)。 -
304 Not Modified
资源未修改,客户端可使用缓存版本(需配合If-Modified-Since
等头使用)。 -
307 Temporary Redirect
临时重定向,要求保持原请求方法(如POST)。 -
308 Permanent Redirect
永久重定向,要求保持原请求方法(类似301但更严格)。
4xx(客户端错误)
-
400 Bad Request
请求语法错误或参数无效(通用客户端错误)。 -
401 Unauthorized
需要身份认证(如未提供Token或认证失败)。 -
403 Forbidden
服务器拒绝请求(已认证但权限不足)。 -
404 Not Found
请求的资源不存在。 -
405 Method Not Allowed
请求方法不被允许(如用GET访问仅支持POST的接口)。 -
408 Request Timeout
服务器等待请求超时。 -
409 Conflict
请求与资源当前状态冲突(如版本冲突)。 -
410 Gone
资源已永久删除(与404不同,明确提示不可恢复)。 -
413 Payload Too Large
请求数据超过服务器限制。 -
414 URI Too Long
URL过长(通常因参数过多导致)。 -
415 Unsupported Media Type
不支持的请求数据类型(如上传格式错误)。 -
429 Too Many Requests
客户端请求过于频繁(限流时返回)。 -
451 Unavailable For Legal Reasons
因法律原因无法访问(如政府审查)。
5xx(服务器错误)
-
500 Internal Server Error
通用服务器错误(未明确分类的故障)。 -
501 Not Implemented
服务器不支持请求的功能(如未实现的HTTP方法)。 -
502 Bad Gateway
网关或代理服务器收到无效响应(上游服务器故障)。 -
503 Service Unavailable
服务器暂时不可用(维护或过载,通常伴随Retry-After
头)。 -
504 Gateway Timeout
网关或代理服务器等待上游响应超时。 -
505 HTTP Version Not Supported
服务器不支持请求的HTTP协议版本。 -
507 Insufficient Storage
服务器存储空间不足(如WebDAV操作失败)。 -
508 Loop Detected
服务器检测到无限重定向循环(WebDAV相关)。 -
511 Network Authentication Required
客户端需进行网络认证(如连接公共WiFi时的登录页面)。
其他特殊状态码
-
418 I'm a Teapot
彩蛋状态码(源自愚人节玩笑,表示服务器是“茶壶”)。 -
422 Unprocessable Entity
请求格式正确但语义错误(如验证失败,常见于WebDAV或REST API)。 -
451
明确因法律原因无法访问(RFC标准,非玩笑)。
关键区别
-
301 vs 302
301影响缓存和SEO(永久移动),302仅临时重定向。 -
401 vs 403
401需身份认证,403认证后仍无权限。 -
404 vs 410
404资源不存在(可能临时),410资源被永久移除。 -
502 vs 504
502网关收到无效响应,504网关等待上游超时。
掌握这些状态码有助于快速定位问题,优化客户端与服务器的交互逻辑。