http状态码有哪些,并代表什么意思

107 阅读3分钟

公众号:小博的前端笔记

在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:网关超时(代理服务器等待上游响应超时)。

要点总结

  1. 必知状态码

    • 200、201、204(成功类)
    • 301、302、304(重定向与缓存)
    • 400、401、403、404(客户端错误)
    • 500、502、503(服务器错误)
  2. 高频考点

    • 301 vs 302:永久重定向 vs 临时重定向(SEO影响不同)。
    • 401 vs 403:未认证 vs 无权限。
    • 304协商缓存:与ETag/Last-Modified相关。
    • 502 vs 504:网关错误 vs 网关超时。
  3. 实际应用场景

    • 登录失效时返回401,前端跳转登录页。
    • 接口限流返回429,前端需提示用户稍后重试。
    • 静态资源缓存命中时返回304,减少网络传输。