公众号:小博的前端笔记
在HTTP协议中,状态码(Status Code)是服务器对客户端请求的响应结果标识,由三位数字组成。以下是前端常见的HTTP状态码分类及详细说明:
1xx(信息响应)
表示请求已被接收,需要继续处理(较少使用)。
- 100 Continue:客户端应继续发送请求的剩余部分(用于大文件上传前的确认)。
- 101 Switching Protocols:服务器根据客户端请求切换协议(如从HTTP切换到WebSocket)。
2xx(成功响应)
表示请求已成功被服务器接收、理解并处理。
- 200 OK:请求成功(最常用,如GET请求获取资源)。
- 201 Created:请求成功且服务器创建了新资源(常见于POST/PUT请求)。
- 202 Accepted:请求已接受,但处理尚未完成(异步任务)。
- 204 No Content:请求成功,但响应中无返回内容(如DELETE请求成功)。
3xx(重定向)
表示需要客户端进一步操作才能完成请求。
- 301 Moved Permanently:资源永久重定向到新URL(搜索引擎会更新链接)。
- 302 Found:资源临时重定向(浏览器会继续使用原URL请求)。
- 304 Not Modified:资源未修改,客户端可使用缓存(协商缓存生效时返回)。
- 307 Temporary Redirect:临时重定向,要求请求方法不变(如POST请求重定向后仍用POST)。
- 308 Permanent Redirect:永久重定向,要求请求方法不变。
4xx(客户端错误)
表示客户端请求有误,服务器无法处理。
- 400 Bad Request:请求语法错误(如参数格式错误)。
- 401 Unauthorized:请求需要用户认证(未登录时常见)。
- 403 Forbidden:服务器拒绝执行(无权限访问资源)。
- 404 Not Found:请求的资源不存在(路径错误或资源已删除)。
- 405 Method Not Allowed:请求方法不被允许(如用GET访问只支持POST的接口)。
- 408 Request Timeout:请求超时(服务器等待时间过长)。
- 429 Too Many Requests:请求频率过高(限流时返回)。
5xx(服务器错误)
表示服务器处理请求时发生错误。
- 500 Internal Server Error:服务器内部错误(通用错误,如代码异常)。
- 501 Not Implemented:服务器不支持请求的功能(如请求方法未实现)。
- 502 Bad Gateway:网关错误(代理服务器无法从上游获取响应)。
- 503 Service Unavailable:服务不可用(服务器过载或维护中)。
- 504 Gateway Timeout:网关超时(代理服务器等待上游响应超时)。
要点总结
-
必知状态码:
- 200、201、204(成功类)
- 301、302、304(重定向与缓存)
- 400、401、403、404(客户端错误)
- 500、502、503(服务器错误)
-
高频考点:
- 301 vs 302:永久重定向 vs 临时重定向(SEO影响不同)。
- 401 vs 403:未认证 vs 无权限。
- 304协商缓存:与
ETag/Last-Modified相关。 - 502 vs 504:网关错误 vs 网关超时。
-
实际应用场景:
- 登录失效时返回
401,前端跳转登录页。 - 接口限流返回
429,前端需提示用户稍后重试。 - 静态资源缓存命中时返回
304,减少网络传输。
- 登录失效时返回