HTTP状态码分类?

访客 网络编程 2

本文目录导读:

  1. 1xx:信息响应(Informational)
  2. 2xx:成功响应(Success)
  3. 3xx:重定向(Redirection)
  4. 4xx:客户端错误(Client Error)
  5. 5xx:服务器错误(Server Error)
  6. 快速记忆口诀:

HTTP状态码(HTTP Status Code)是服务器对客户端请求的响应结果标识,用于表示请求的处理状态,它们通常被分为五大类,每类以不同的数字开头,代表不同的响应含义。

以下是详细的分类及常见状态码举例:

1xx:信息响应(Informational)

  • 含义:请求已接收,正在处理中,这类状态码通常是临时性的,表示服务器正在等待进一步的操作。
  • 常见状态码
    • 100 Continue:服务器已收到请求头,客户端应继续发送请求体(通常用于POST大文件前检查权限)。
    • 101 Switching Protocols:服务器理解并同意客户端的协议切换请求(如WebSocket升级)。

2xx:成功响应(Success)

  • 含义:请求已成功被服务器接收、理解并接受。
  • 常见状态码
    • 200 OK:请求成功,这是最标准、最常见的成功状态码。
    • 201 Created:请求已被实现,且服务器创建了一个新资源(通常用于POST或PUT请求)。
    • 204 No Content:服务器成功处理了请求,但没有返回任何内容(用于删除操作或仅需更新头部信息时)。

3xx:重定向(Redirection)

  • 含义:客户端需要采取进一步的操作才能完成请求,通常用于资源位置发生变化或需要通过其他URL访问。
  • 常见状态码
    • 301 Moved Permanently:资源已被永久移动到新URL(搜索引擎会更新链接)。
    • 302 Found:资源临时移动到新URL(搜索引擎会保留原链接)。
    • 304 Not Modified:客户端请求的资源未发生变化(通常配合缓存使用,服务器无需返回资源内容)。

4xx:客户端错误(Client Error)

  • 含义:请求包含语法错误或无法完成请求,问题主要出在客户端(如浏览器、爬虫、App)。
  • 常见状态码
    • 400 Bad Request:服务器无法理解请求的格式(如参数错误、JSON格式错误)。
    • 401 Unauthorized:请求需要身份验证(未登录或登录已过期)。
    • 403 Forbidden:服务器理解请求,但拒绝执行(已登录但没有权限访问该资源)。
    • 404 Not Found:服务器找不到请求的资源(URL不存在)。
    • 405 Method Not Allowed:请求方法不被允许(如接口只支持POST,但用了GET)。
    • 429 Too Many Requests:客户端在一定时间内发送了太多请求(触发限流/频率控制)。

5xx:服务器错误(Server Error)

  • 含义:服务器在处理请求时发生了内部错误,问题通常出在服务器端(代码、数据库、配置等)。
  • 常见状态码
    • 500 Internal Server Error:服务器内部错误(最常见的通用错误,代码抛异常了)。
    • 502 Bad Gateway:服务器作为网关或代理,从上游服务器收到无效响应(如Nginx代理时后端PHP服务挂了)。
    • 503 Service Unavailable:服务器暂时无法处理请求(通常因过载或维护中)。
    • 504 Gateway Timeout:服务器作为网关或代理,未能及时从上游服务器收到响应(请求超时)。

快速记忆口诀:

  • 1xx:你继续(告诉我你还在)
  • 2xx:没问题(成功了)
  • 3xx:去哪儿?(换个地方找)
  • 4xx:你错了(客户端的问题)
  • 5xx:我错了(服务器的问题)

只要记住1信息、2成功、3重定向、4客户端错误、5服务器错误,基本就掌握了HTTP状态码的核心分类逻辑。

标签: 信息类 成功类

抱歉,评论功能暂时关闭!