【HTTP】HTTP状态码全分类表(1xx/2xx/3xx/4xx/5xx)(附:《思维导图》)
文章目录HTTP状态码一、1xx 信息性状态码Informational二、2xx 成功状态码Success三、3xx 重定向状态码Redirection四、4xx 客户端错误状态码Client Error五、5xx 服务器错误状态码Server Error补充说明与使用规范六、思维导图HTTP状态码HTTP状态码是HTTP协议中服务器向客户端告知请求处理结果的3位数字代码核心规范来自RFC 7231HTTP/1.1语义标准首位数字固定划分5个基础分类覆盖请求处理的全流程结果。以下按分类结构化梳理标注核心常用码、标准定义、适用场景及关键特性兼顾规范严谨性与开发运维的实际使用。一、1xx 信息性状态码Informational核心定义服务器已接收请求正在处理中需客户端等待后续最终响应。属于临时响应仅包含状态行和可选响应头无响应体。状态码核心标识标准定义与适用场景关键特性100 Continue核心常用服务器已校验并接收请求头通知客户端继续发送请求体POST/PUT等大体积请求用于客户端带Expect: 100-continue头的场景避免大文件传输无效浪费带宽101 Switching Protocols常用服务器同意客户端的协议切换请求通过Upgrade头指定典型场景WebSocket连接建立、HTTP/1.1升级至HTTP/2响应头会明确切换后的协议103 Early Hints近年常用服务器在最终响应前提前返回带Link头的预加载指令用于浏览器提前预加载CSS、JS等静态资源优化页面首屏加载性能RFC 8297规范定义102 Processing扩展常用服务器已接收请求并正在处理暂无可用响应避免客户端超时WebDAV扩展RFC 2518用于耗时较长的批量文件操作场景二、2xx 成功状态码Success核心定义服务器已成功接收、理解并处理客户端的请求是请求的理想响应类别。状态码核心标识标准定义与适用场景关键特性200 OK最核心最常用请求完全成功服务器已返回请求的目标资源适配GET/POST/PUT等绝大多数请求GET返回资源体POST/PUT返回操作结果是HTTP最通用的成功码201 Created核心常用请求成功且服务器已创建新的资源用于POST/PUT创建资源的场景如新增用户、上传文件响应头通常带Location指向新资源的URI202 Accepted常用服务器已接收请求但尚未完成处理用于异步任务场景如批量导入、视频转码、邮件发送可返回任务ID供客户端轮询不保证最终处理成功204 No Content核心常用请求成功但服务器无任何响应体返回用于DELETE删除资源、PUT更新资源无需返回内容的场景客户端无需刷新页面仅需确认操作成功206 Partial Content核心常用服务器成功处理客户端的范围请求仅返回资源的指定片段用于断点续传、视频分片加载请求头带Range响应头带Content-Range标注分块字节范围205 Reset Content补充请求成功要求客户端重置文档视图如清空表单内容与204的核心区别强制要求客户端重置UI典型场景为表单提交后自动清空所有输入项207 Multi-StatusWebDAV扩展一次请求返回多个独立子操作的处理状态响应体包含每个子操作的状态码用于WebDAV批量操作文件/文件夹一次性返回多个资源的处理结果三、3xx 重定向状态码Redirection核心定义客户端需要执行额外操作才能完成请求主要用于资源跳转、缓存控制核心分为永久重定向和临时重定向关键差异为是否保留原始请求方法、是否被浏览器缓存。状态码核心标识标准定义与适用场景关键特性301 Moved Permanently核心常用永久重定向资源已永久移动到新URI后续所有请求应使用新地址浏览器会永久缓存重定向地址部分旧浏览器会将原始POST请求改为GET典型场景域名更换、页面永久迁移、SEO权重转移302 Found核心常用临时重定向资源临时移动到新URI客户端本次使用新地址后续仍使用原地址浏览器不缓存重定向地址历史规范问题多数旧浏览器会将POST改为GET典型场景未登录跳转登录页、临时活动页跳转303 See Other常用请求处理成功引导客户端使用GET方法跳转到新URI获取结果强制将POST/PUT/DELETE请求改为GET跳转无缓存典型场景表单POST提交成功后跳转结果页避免用户刷新重复提交304 Not Modified核心常用缓存专用资源未发生修改客户端可直接使用本地缓存无响应体触发条件为客户端带If-Modified-Since/If-None-Match头服务器校验资源未变更典型场景浏览器静态资源图片、CSS、JS缓存减少带宽消耗307 Temporary Redirect核心常用临时重定向资源临时移动到新URI严格保留原始请求方法和请求体与302的核心区别强制不修改请求方法不会转为GET无缓存典型场景RESTful API POST/PUT请求的临时跳转避免业务异常308 Permanent Redirect常用永久重定向资源已永久移动到新URI严格保留原始请求方法和请求体与301的核心区别强制不修改请求方法不会转为GET浏览器永久缓存典型场景API接口域名永久更换需保留非GET请求的方法和body补充305、306状态码已被RFC 7231弃用存在安全风险现代浏览器均不支持无实际使用场景。四、4xx 客户端错误状态码Client Error核心定义请求存在语法、权限、参数、资源等问题服务器无法或拒绝处理错误根源在客户端是开发调试中最常遇到的类别。状态码核心标识标准定义与适用场景关键特性400 Bad Request核心常用服务器无法理解请求因客户端请求存在语法错误、格式无效通用客户端错误码典型场景JSON请求体格式错误、URL编码异常、请求参数格式非法、请求头过大401 Unauthorized核心常用请求需要用户身份认证客户端未提供凭证或凭证无效响应头必须带WWW-Authenticate标注认证方式如Bearer Token、Basic认证典型场景未携带Token访问接口、Token过期/签名错误、账号密码错误语义为「未认证」而非「未授权」403 Forbidden核心常用服务器已理解请求但拒绝执行即使认证成功也无权访问与401核心区别401是「身份无效/未登录」403是「已登录但无权限」典型场景普通用户访问管理员接口、IP被封禁、跨域请求被拦截、CSRF令牌无效404 Not Found最常用客户端错误服务器无法找到请求的资源URI无效或资源已删除/不存在典型场景URL拼写错误、资源已永久删除、路由未配置、接口地址写错405 Method Not Allowed核心常用请求的URI存在但不支持客户端使用的HTTP方法响应头必须带Allow列出该URI支持的合法方法典型场景仅支持GET的接口被POST请求访问、RESTful接口方法使用错误409 Conflict核心常用请求与服务器资源的当前状态存在冲突无法完成处理典型场景并发修改同一资源乐观锁冲突、创建已存在的唯一资源重复注册用户名、资源状态不允许操作已付款订单重复支付413 Payload Too Large核心常用客户端请求体大小超过服务器限制服务器拒绝处理典型场景上传超大文件、POST提交的JSON体过大超出Nginx/后端服务的body上限414 URI Too Long常用客户端请求的URI长度超过服务器限制服务器拒绝处理典型场景GET请求带超长query参数、URL拼接过多参数超出浏览器/服务器的URI长度限制415 Unsupported Media Type核心常用服务器不支持客户端请求的Content-Type格式无法处理请求体典型场景接口要求application/json客户端携带form-data/text/plain、上传文件格式不被支持422 Unprocessable Entity核心常用API开发服务器已理解请求的Content-Type、语法正确但无法处理请求的语义内容与400核心区别400是语法错误422是业务语义校验失败典型场景请求参数格式正确但密码长度不足、手机号格式非法、必填参数为空429 Too Many Requests核心常用限流防刷客户端单位时间内请求数超过服务器限制触发限流响应头通常带Retry-After告知重试间隔典型场景API接口限流、防爬虫、短信验证码防刷、登录失败次数限制431 Request Header Fields Too Large常用客户端请求头单个字段或总大小超过服务器限制典型场景Cookie体积过大、自定义请求头超长超出Nginx等服务器的header上限451 Unavailable For Legal Reasons常用因法律合规要求服务器拒绝提供该资源典型场景版权保护内容、地域限制内容、被依法封禁的资源命名致敬《华氏451》418 I’m a teapot彩蛋非标准超文本咖啡壶控制协议RFC 2324愚人节彩蛋服务器拒绝用茶壶煮咖啡无正式业务场景多用于开发者调试、反爬虫、趣味页面补充402 Payment Required为预留状态码最初用于数字支付场景目前未被广泛标准化使用407、408、410、411、412、416、417、421、426、428等为标准补充码用于特定细分场景日常开发中使用频率较低。五、5xx 服务器错误状态码Server Error核心定义服务器处理合法请求时发生了内部错误无法完成请求错误根源在服务端是运维、后端开发重点监控的类别。状态码核心标识标准定义与适用场景关键特性500 Internal Server Error最核心最常用服务端错误服务器处理请求时发生未预期的内部错误无更精准的错误码可用通用服务端错误码典型场景后端代码运行时异常空指针、SQL执行错误、业务逻辑崩溃、服务器配置错误501 Not Implemented常用服务器不支持客户端请求的功能无法完成处理与405核心区别405是方法存在但URI不支持501是服务器根本不支持该方法/功能典型场景客户端使用服务器未实现的HTTP方法、请求的功能未开发完成502 Bad Gateway核心常用作为网关/代理的服务器从上游源服务器收到了无效的响应典型场景Nginx反向代理的后端服务崩溃、端口未监听、PHP-FPM未启动、网关与上游服务通信协议错误503 Service Unavailable核心常用服务器当前无法处理请求属于临时过载或维护稍后可恢复响应头通常带Retry-After告知恢复时间典型场景服务停机维护、服务器流量过载、熔断降级触发、服务重启中504 Gateway Timeout核心常用作为网关/代理的服务器等待上游源服务器响应超时与502核心区别502是收到了无效响应504是超时未收到响应典型场景后端慢SQL、死循环、第三方接口超时超出网关的超时时间限制505 HTTP Version Not Supported补充服务器不支持客户端请求使用的HTTP协议版本典型场景客户端使用HTTP/0.9、HTTP/3等服务器不兼容的协议版本发送请求507 Insufficient StorageWebDAV扩展服务器存储空间不足无法完成请求操作典型场景WebDAV上传文件时服务器磁盘已满、数据库存储空间不足511 Network Authentication Required常用客户端需要完成网络身份认证才能访问网络典型场景酒店、机场、咖啡厅的Wi-Fi门户认证未登录前访问网页会返回该状态码补充说明与使用规范规范来源核心状态码由RFC 7231定义扩展码来自RFC 2518WebDAV、RFC 6585附加状态码、RFC 8297103 Early Hints等官方标准。业务自定义规范企业通常在标准HTTP状态码基础上通过响应体的code字段定义细分业务错误码HTTP状态码仅负责标识HTTP协议层的处理状态业务错误码负责细分业务场景的错误原因。常见使用误区混淆401与403401是「未登录/身份无效」403是「已登录但无权限」混淆302与307302可能将POST转为GET307严格保留原始请求方法滥用500所有服务端错误都返回500应根据场景使用更精准的状态码全量200返回无论成功失败都返回200仅通过body标识错误不符合HTTP语义规范不利于网关监控、CDN缓存与SEO。六、思维导图