> 技术文档 > 告别 “代码天书”:HTTP 状态码的生活指南 —— 用日常比喻讲透每一个网络暗号的解决方法

告别 “代码天书”:HTTP 状态码的生活指南 —— 用日常比喻讲透每一个网络暗号的解决方法

每日一句

好比香料,

捣得愈碎,

磨得愈细,

香得愈浓烈。


目录

每日一句

状态码简介

专业解释

比喻介绍

一.1xx 信息型状态码

100 Continue

101 Switching Protocols

103 Early Hints

二.2xx 成功型状态码

200 OK

201 Created

202 Accepted

203 Non-Authoritative Information

204 No Content

205 Reset Content

206 Partial Content

207 Multi-Status

208 Already Reported

226 IM Used

三.3xx 重定向状态码

300 Multiple Choices

301 Moved Permanently

302 Found

303 See Other

304 Not Modified

305 Use Proxy(已弃用)

306 Unused

307 Temporary Redirect

308 Permanent Redirect

四.4xx 客户端错误状态码

400 Bad Request

401 Unauthorized

402 Payment Required

403 Forbidden

404 Not Found

405 Method Not Allowed

406 Not Acceptable

407 Proxy Authentication Required

408 Request Timeout

409 Conflict

410 Gone

411 Length Required

412 Precondition Failed

413 Content Too Large

414 URI Too Long

415 Unsupported Media Type

416 Range Not Satisfiable

417 Expectation Failed

421 Misdirected Request

422 Unprocessable Entity

423 Locked

424 Failed Dependency

425 Too Early

426 Upgrade Required

428 Precondition Required

429 Too Many Requests

431 Request Header Fields Too Large

451 Unavailable For Legal Reasons

五.5xx 服务器错误状态码

500 Internal Server Error

501 Not Implemented

502 Bad Gateway

503 Service Unavailable

504 Gateway Timeout

505 HTTP Version Not Supported

506 Variant Also Negotiates

507 Insufficient Storage

508 Loop Detected

510 Not Extended

511 Network Authentication Required

总结


你是否在浏览网页时遇到过 “404 Not Found” 的提示?或是在提交表单时被 “500 Internal Server Error” 打断操作?这些看似神秘的数字代码,其实是互联网世界的 “通信密码”——HTTP 状态码。它们像一个个无声的信使,在浏览器与服务器之间传递请求结果,却常常因专业门槛让普通用户摸不着头脑。今天,我们就用最通俗的方式拆解这些代码,让你下次遇到时不再迷茫。

状态码简介

专业解释

HTTP 状态码是服务器对客户端 HTTP 请求的标准化响应代码,由三位数字组成,用于告知请求的处理结果。首位数字定义响应类型:

1xx 表示服务器已接收请求并继续处理(信息型);

2xx 代表请求成功处理(成功型);

3xx 指示需要进一步操作以完成请求(重定向型);

4xx 表明客户端请求存在错误(客户端错误型);

5xx 则表示服务器处理请求时发生内部故障(服务器错误型)。

每个状态码都有明确的语义和使用场景,是客户端与服务器之间高效通信的 “语言规范”。

比喻介绍

如果把互联网通信比作 “快递收发”,那么 HTTP 状态码就像快递单上的 “物流状态标签”。

1xx 类似 “快递已收件,正在分拣”,告诉你请求已被接收但还在处理中;

2xx 好比 “快递已送达,签收成功”,代表请求完美完成;

3xx 就像 “收件地址变更,请转投新地址”,提示需要跳转才能找到资源;

4xx 类似 “地址写错或收件人信息不全,无法派送”,说明是客户端的请求出了问题;

5xx 则像 “快递站分拣系统故障,暂时无法发货”,表示服务器端出了状况。

这些 “标签” 让客户端快速知道请求的状态,就像物流标签让你清楚快递的进展一样。

一.1xx 信息型状态码

100 Continue

中文:100 继续

专业的意思:服务器已接收请求的初始部分,告知客户端可以继续发送剩余请求内容;若请求已完成,客户端可忽略此响应。客户端需在初始请求中发送Expect: 100-continue首部才会触发该响应。

比喻:就像在餐厅点餐时,你刚报了菜名开头,服务员微笑着示意 “请继续说,我在认真记录”。

实际场景:上传视频、大文档时,浏览器先发送请求头,服务器返回 100 后,再开始传输文件内容,节省无效传输。

解决方案:无需额外操作,按原计划将剩余请求内容完整发送即可,这是服务器对请求初始阶段的正常反馈。

101 Switching Protocols

中文:101 切换协议

专业的意思:服务器同意客户端通过Upgrade请求头提出的协议升级请求,正在切换到指定的新协议,并通过Upgrade响应头明确切换后的协议类型。

比喻:如同打电话时你提议 “我们切换到视频通话吧,更方便看东西”,对方回应 “好的,我这就切换到视频模式”。

实际场景:上传视频、大文档时,浏览器先发送请求头,服务器返回 100 后,再开始传输文件内容,节省无效传输。

解决方案:客户端只需配合服务器切换到新协议(如从 HTTP 切换到 WebSocket),继续保持通信即可,无需额外错误处理。

103 Early Hints

中文:103 早期提示

专业的意思:与Link头配合使用,服务器在准备完整响应期间,提前告知客户端后续可能需要的资源,帮助客户端预加载或预连接资源,提升页面加载效率。

比喻:类似去咖啡店点单时,店员提前告诉你 “你常点的拿铁需要现磨豆子,你可以先去取杯套和糖包”。

实际场景:上传视频、大文档时,浏览器先发送请求头,服务器返回 100 后,再开始传输文件内容,节省无效传输。

解决方案:无需用户手动操作,浏览器会自动根据提示提前加载相关资源(如 CSS、JavaScript 文件),耐心等待页面加载完成即可。

二.2xx 成功型状态码

200 OK

中文:200 成功

专业的意思:请求被服务器成功处理并返回相应资源。不同请求方法对应的成功结果不同,GET 请求会返回资源内容,PUT/POST 请求会返回操作结果等。

比喻:好比去超市购物结账,收银员扫码后把商品和小票交给你说 “东西齐了,欢迎下次光临”。

实际场景:打开网页、刷新页面、提交表单成功时,浏览器默认返回 200,只是通常不显示。

解决方案:请求完全成功,直接使用服务器返回的内容即可,无需额外操作。

201 Created

中文:201 已创建

专业的意思:请求被成功处理并创建了新资源,新资源的地址可能在原始请求路径或Location响应头中,常用于 POST 请求创建资源的场景。

比喻:如同在网上定制蛋糕后,商家回复 “蛋糕已经做好了,放在取货柜 3 号格子,凭单号可取”。

实际场景:注册账号、发布动态、上传图片后,服务器返回 201 并告知新资源的访问地址。

解决方案:可通过返回的Location信息确认新资源的位置,检查资源是否按预期创建,确保内容正确无误。

202 Accepted

中文:202 已接受

专业的意思:服务器已接收请求,但尚未开始处理,且无法通过 HTTP 协议异步通知处理结果,常见于后台批处理、任务队列等场景。

比喻:就像去快递点寄件,快递员接过包裹说 “已经登记入库,会按流程发货,但现在还没装车运输”。

实际场景:用户提交大型视频压缩请求、发起多文件批量打印任务后,服务器返回 202 表示已接收请求并加入处理队列,但尚未开始实际处理操作。

解决方案:无需催促,耐心等待服务器处理即可,后续可通过其他方式(如消息通知、页面查询)获取处理进度或结果。

203 Non-Authoritative Information

中文:203 非权威信息

专业的意思:请求成功处理,但响应内容经过代理服务器的修改,与源头服务器返回的 200 OK 响应内容存在差异。

比喻:类似让朋友帮忙带书,朋友说 “书买到了,但封面有点灰尘,我帮你简单擦了擦”。

实际场景:用户通过代理服务器访问某个新闻页面,服务器返回 203 表示请求成功,但代理已对页面中的广告内容进行过滤,与源头服务器的原始页面存在差异。

解决方案:若返回内容符合需求,可直接使用;若对内容准确性有要求,可绕过代理服务器直接向源头服务器请求原始内容。

204 No Content

中文:204 无内容

专业的意思:请求成功处理,但服务器没有返回任何实体内容,客户端无需离开当前页面,默认可缓存且包含ETag标头。

比喻:好比给客服发消息 “帮我取消订单”,客服回复 “已成功取消,你当前页面不用变动”。实际场景:删除邮件、清空购物车、取消收藏等操作,服务器只需确认成功,无需返回新内容。

实际场景:删除邮件、清空购物车、取消收藏等操作,服务器只需确认成功,无需返回新内容。

解决方案:保持当前页面不变即可,无需跳转或刷新,该状态码常见于删除、重置等无需返回内容的操作。

205 Reset Content

中文:205 重置内容

专业的意思:服务器通知客户端重置文档视图,如清空表单内容、重置 canvas 绘图状态或刷新用户界面等。

比喻:如同填快递单时写错信息,工作人员说 “这张单子作废,你拿张新的重新填写吧”。

实际场景:用户在网页表单中提交错误信息后,服务器返回 205,提示清空当前表单的输入内容,恢复到初始空白状态以便重新填写。

解决方案:按服务器提示重置相关界面元素,清空输入内容或恢复初始状态,重新进行操作。

206 Partial Content

中文:206 部分内容

专业的意思:服务器成功处理了客户端的范围请求,响应主体仅包含Range首部指定的数据区间。单个区间时包含Content-Range首部,多个区间时使用multipart/byteranges类型。

比喻:好比网购的 10 斤大米分两批发货,快递员先送来 5 斤并说 “剩下的明天到,这是单号可追踪”。

实际场景:下载大文件时断点续传、视频播放时加载当前片段,都依赖 206 实现 “分块传输”。

解决方案:根据返回的Content-Range信息,继续向服务器请求剩余的数据区间,直至获取完整资源。

207 Multi-Status

中文:207 多状态

专业的意思:WebDAV 协议扩展状态码,用于在一个响应中返回多个资源的操作状态,消息体为 XML 格式,包含各子请求的独立状态码。

比喻:类似一次寄了 3 个快递,快递单上标注 “1 号件已发出,2 号件缺地址待补,3 号件已签收”。

实际场景:用户通过 WebDAV 协议批量上传 5 个文件到云存储,服务器返回 207 ,响应的 XML 消息中分别标注 “文件 A 上传成功(201)、文件 B 格式错误(400)、文件 C 上传成功(201)、文件 D 权限不足(403)、文件 E 上传成功(201)”。

解决方案:查看返回的 XML 状态列表,针对未成功的操作(如补充地址)进行针对性处理,确保所有资源操作完成。

208 Already Reported

中文:208 已报告

专业的意思:在 207 Multi-Status 响应中使用,用于避免重复枚举集合资源中已报告过的成员,节省响应空间并防止冲突。

比喻:好比查全家快递时,客服说 “你老公和孩子的快递状态和你的一样,就不重复说明了”。

实际场景:用户通过 WebDAV 批量查询一个文件夹中 10 个文件的状态,其中 3 个文件状态与之前报告的一致,服务器返回 208 提示不再重复枚举,仅展示剩余 7 个文件的最新状态。

解决方案:无需额外处理,关注未重复报告的状态信息即可,该状态码仅用于简化多资源状态展示。

226 IM Used

中文:226 IM 已使用专业的意思:在 HTTP Delta encoding 机制中,服务器已完成 GET 请求,响

应内容是对当前资源应用一个或多个实例操作后的结果。

比喻:如同让打印店修改文档,店员说 “按你上次的修改意见改好了,这是更新后的版本”。

实际场景:用户通过支持 Delta encoding 的客户端请求更新一份文档,服务器返回 226 ,响应内容是在原始文档基础上应用用户之前提交的几处修改后的最终版本。

解决方案:直接使用返回的更新后内容即可,无需再次提交相同的修改请求,适用于资源增量更新场景。

三.3xx 重定向状态码

300 Multiple Choices

中文:300 多种选择

专业的意思:请求的资源存在多个可供选择的表示形式,服务器在响应中提供资源特性及地址列表,由客户端或用户选择合适的重定向目标。

比喻:好比问路时,路人说 “去公园有 3 条路:左边近但绕,中间直但堵车,右边风景好”。

实际场景:用户请求下载一份文档,服务器返回 300 并提供选项列表:“中文 PDF 版(/doc/cn.pdf)、英文 Word 版(/doc/en.doc)、纯文本精简版(/doc/txt.txt)”,需用户选择对应地址重新请求。

解决方案:根据服务器返回的选项列表,选择最适合的资源地址(如合适的语言、格式版本)重新发送请求。

301 Moved Permanently

中文:301 永久移动

专业的意思:请求的资源已永久移动到Location头部指定的 URL,搜索引擎会更新链接指向新地址,建议用于 GET 或 HEAD 方法响应。

比喻:就像常去的书店门口贴通知 “本店已永久搬迁至 XX 街 123 号,欢迎新老顾客光临”。

实际场景:网站域名变更(如从 old.com 换成 new.com),访问旧域名时会被永久重定向到新域名。

解决方案:更新本地记录的资源地址,以后直接访问Location中的新 URL,避免再向旧地址发送请求。

302 Found

中文:302 临时移动

专业的意思:资源暂时移动到Location指定的 URL,浏览器会重定向但搜索引擎不更新链接,推荐仅用于 GET 或 HEAD 响应。

比喻:类似超市特价奶临时放在促销区,店员说 “今天特价奶在那边临时货架,明天就回原位了”。

实际场景:网站维护时临时跳转至 “维护中” 页面,活动结束后自动恢复原地址访问。

解决方案:本次按Location地址访问资源,但无需更新长期记录的地址,下次请求仍可使用原地址。

303 See Other

中文:303 查看其他位置

专业的意思:常作为 PUT 或 POST 操作的响应,指示客户端通过 GET 方法重定向到另一个页面(如确认页、进度页),与原资源无直接关联。

比喻:好比在自动售票机买完票后,机器提示 “票已出票,请去旁边窗口凭票根领取报销凭证”。

实际场景:用户在电商平台提交订单支付后,服务器返回 303 并在 Location 中指向 “订单支付结果页”,提示通过 GET 方法访问该页面查看支付状态和后续操作。

解决方案:按提示使用 GET 方法访问Location中的新地址,获取操作后的相关信息,无需重复原请求。

304 Not Modified

中文:304 未修改

专业的意思:客户端请求的资源未发生修改,服务器无需再次传输资源内容,客户端可直接使用本地缓存的内容,常见于带条件的 GET/HEAD 请求。

比喻:如同去面包店说 “要昨天的同款面包”,店员说 “和昨天的一样新鲜,不用重新做,拿现成的就行”。

实际场景:刷新网页时,浏览器用 If-Modified-Since 头检查资源是否更新,未更新则返回 304,加速页面加载。

解决方案:直接使用本地缓存的资源内容,无需重新下载,节省网络流量和加载时间。

305 Use Proxy(已弃用)

中文:305 使用代理(已弃用)

专业的意思:原本指示客户端必须通过Location头部指定的代理服务器访问资源,但因安全风险,现代 HTTP 规范已不再推荐使用。

比喻:类似去国外景点时,旧规定要求 “必须通过指定导游带入,否则不得入内”,但现在该规定已被取消。

实际场景:用户尝试直接访问某早期网站资源时,服务器返回 305 并指定代理地址,但现代浏览器因安全限制拒绝执行,提示无法通过该代理访问资源。

解决方案:现代浏览器通常不支持该状态码,遇到时可尝试更换浏览器或直接访问目标资源,无需使用代理。

306 Unused

中文:306 未使用

专业的意思:该状态码在 HTTP/1.1 规范早期版本中存在,目前已被废弃,无实际使用意义,通常是服务器配置错误导致。

比喻:好比旧地图上标了个 “此路不通”,但现在这条路早已不存在,标注也失去了意义。

实际场景:用户访问某老旧系统的资源时,服务器因配置未更新返回 306 状态码,但该状态码已无实际含义,导致客户端无法正常处理请求。

解决方案:忽略该状态码,通常为服务器配置问题,可联系管理员检查并修复服务器设置。

307 Temporary Redirect

中文:307 临时重定向

专业的意思:资源暂时移动到Location首部指定的 URL,重定向时保持原始请求方法和消息主体不变,与 302 的区别在于严格保留请求方法。

比喻:如同公司楼下快递柜提示 “今天柜子已满,快递临时放在隔壁便利店,明天恢复正常,取件方式不变”。

实际场景:支付页面因维护临时跳转,但需保留 POST 支付数据,确保支付流程不中断。

解决方案:按Location地址重定向请求,且必须使用原请求方法(如 POST 不能改为 GET),本次访问后无需更新长期地址。

308 Permanent Redirect

中文:308 永久重定向

专业的意思:资源永久移动到Location首部指定的 URL,重定向时保持原始请求方法和消息主体不变,搜索引擎会更新链接,避免 301 可能的方法修改问题。

比喻:好比小区门口的快递点贴通知 “永久迁至南门,所有快递均需到南门取件,取件流程不变”。

实际场景:用户通过旧域名的 POST 方法提交数据时,服务器返回 308 并在 Location 中指向新域名地址,提示后续需使用相同的 POST 方法直接访问新地址,搜索引擎也会将旧域名链接更新为新地址。

解决方案:更新本地记录的资源地址,以后按新地址使用原请求方法访问资源,确保请求方法不被修改。

四.4xx 客户端错误状态码

400 Bad Request

中文:400 错误请求

专业的意思:服务器因客户端请求存在错误(如语法错误、无效格式、欺骗性路由)无法处理请求,客户端不应未修改就重复发送。

比喻:如同填快递单时地址写 “地球上的某栋房子”,快递员说 “地址模糊不清,无法投递,请重新写清楚”。

实际场景:URL 拼写错误、表单填写不完整、请求参数格式错误(如手机号填字母)。

解决方案

1.检查 URL 拼写,确保没有多余字符或缺失符号;

2.核对表单内容,确保格式正确(如邮箱带 @、手机号 11 位);

3.清除浏览器缓存后重试,避免旧数据干扰。

401 Unauthorized

中文:401 未授权

专业的意思:客户端请求的资源需要身份验证,而客户端未提供有效凭证或凭证无效,响应会包含WWW-Authenticate首部说明验证要求。

比喻:好比进小区时刷门禁卡,保安说 “你的卡未激活或已过期,请先去物业登记激活”。

实际场景:访问需要登录的页面(如个人订单、后台管理)时未登录,或登录状态过期。

解决方案:按提示提供正确的身份验证凭证(如账号密码、验证码、Token),完成验证后重新请求资源。

402 Payment Required

中文:402 需要付款

专业的意思:实验性非标准状态码,有时表示客户端需完成付费后请求才会被处理,最初用于数字现金或微型支付系统,无统一标准。

比喻:类似去付费停车场时,栏杆提示 “未缴费无法入场,请扫码支付停车费后再进入”。

实际场景:用户尝试下载某平台的付费文档时,服务器返回 402 ,提示需先购买文档访问权限,完成支付后才能继续下载请求。

解决方案:若服务明确要求付费,按提示完成支付流程后重试;若无明确付费入口,可联系服务提供方咨询。

403 Forbidden

中文:403 禁止访问

专业的意思:服务器能够处理请求,但明确拒绝授权访问,即使重新验证也无法获取权限,通常与应用逻辑(如权限不足)相关。

比喻:好比想进入公司董事长办公室,前台说 “你没有访问权限,无论刷多少次卡都无法进入”。

实际场景:普通用户访问管理员页面、IP 因违规被网站拉黑、资源设置了严格访问限制。

解决方案:停止重复请求,检查是否具备访问该资源的权限,若无权限可联系管理员申请,或更换为有权限的账号访问。

404 Not Found

中文:404 未找到

专业的意思:服务器无法找到请求的资源,返回该响应的链接称为坏链或死链,若资源永久丢失应返回 410 而非 404。

比喻:如同按地址找朋友家,却发现地址上的楼栋根本不存在,显然是地址写错了。

实际场景:点击无效链接、资源已删除但链接未更新、URL 拼写错误(如多打一个字母)。

解决方案:检查 URL 拼写是否正确,确认资源是否存在或是否已被删除,修正地址后重新请求,或寻找替代资源。

405 Method Not Allowed

中文:405 方法不允许

专业的意思:服务器禁止使用当前 HTTP 方法请求资源,响应会包含Allow首部说明允许的方法。

比喻:好比去自动取款机存钱,机器提示 “本机器仅支持取款操作,存钱请前往柜台办理”。

实际场景:用户使用 POST 方法提交数据到仅支持 GET 查询的商品详情接口、用 DELETE 方法尝试删除不允许删除的静态页面时,服务器返回 405 并在 Allow 中注明支持的 GET 方法。

解决方案:查看响应中的Allow首部,更换为服务器允许的 HTTP 方法(如将 POST 改为 GET)后重新请求。

406 Not Acceptable

中文:406 不可接受

专业的意思:服务器无法提供与客户端Accept-CharsetAccept-Language等首部匹配的响应内容,实际应用中极少使用。

比喻:如同去餐厅说 “我只吃甜的和辣的菜”,但餐厅只有咸口味的菜,服务员说 “无法满足你的口味要求”。

实际场景:用户在请求头中指定仅接受法语版本的网页内容,而服务器仅提供英语和中文版本,此时服务器返回 406 提示无法满足语言偏好要求。

解决方案:放宽客户端的请求条件(如接受更多内容格式、语言),或选择服务器能够提供的资源版本。

407 Proxy Authentication Required

中文:407 需要代理认证

专业的意思:客户端需要通过代理服务器的身份验证,响应会包含Proxy-Authenticate首部说明代理的验证要求。

比喻:好比通过公司代理访问外网时,代理服务器提示 “请先输入公司内网账号密码,否则无法连接外网”。

实际场景:用户通过公司网络代理访问外部网站时,代理服务器返回 407 并在 Proxy-Authenticate 中要求输入内网账号密码,未验证通过则无法继续访问。

解决方案:按代理服务器要求提供正确的身份凭证,完成代理验证后再访问目标资源。

408 Request Timeout

中文:408 请求超时

专业的意思:服务器因客户端请求超时未完成而关闭连接,响应中Connection首部通常设为 “close”,可能因网络卡顿或请求过长导致。

比喻:如同打电话给客服,长时间未说话,客服说 “未检测到你的声音,通话将被挂断”。

实际场景:用户在网络信号较弱时提交大型表单数据,因传输耗时过长未在服务器规定时间内完成请求,服务器返回 408 并关闭连接,提示请求超时。

解决方案:检查网络连接是否稳定,缩短请求内容(如大文件分块传输),或重新快速发送请求。

409 Conflict

中文:409 冲突

专业的意思:请求与服务器目标资源的当前状态存在冲突,常见于 PUT 请求上传旧版本资源覆盖新版本的场景。

比喻:好比你和同事同时编辑一份文档,你保存时电脑提示 “同事刚更新了文档,你的版本存在冲突”。

实际场景:用户尝试用本地旧版本的文件通过 PUT 方法覆盖服务器上已被他人更新的新版本文件、提交重复的唯一标识数据(如重复注册同一用户名)时,服务器返回 409 提示资源状态冲突。

解决方案:获取资源的最新状态,根据最新内容调整请求(如下载最新版本后修改),避免直接覆盖冲突内容。

410 Gone

中文:410 已删除

专业的意思:请求的目标资源在原服务器上已永久丢失,且服务器知道资源不会再恢复,区别于 404 的不确定性。

比喻:如同去常去的报刊亭买杂志,老板说 “这本杂志已经停刊了,以后再也不会有了”。

实际场景:用户访问某博客平台上已被作者永久删除且未备份的旧文章链接、请求下载已下架并停止提供的软件旧版本时,服务器返回 410 提示资源已永久移除且无恢复可能。

解决方案:停止向该地址发送请求,寻找替代资源或联系服务提供方确认是否有资源迁移后的新地址。

411 Length Required

中文:411 需要长度

专业的意思:服务器因客户端请求缺少Content-Length首部字段而拒绝处理请求,分块传输时无需该首部但需指定分块长度。

比喻:好比寄快递时不填写包裹重量,快递员说 “不填写重量无法计算运费,请补全信息后再来”。

实际场景:用户通过 POST 方法提交表单数据时未在请求头中添加 Content-Length 字段说明数据大小,服务器因无法确定请求主体长度而返回 410 ,提示需补充长度信息后重新发送请求。

解决方案:在请求中添加Content-Length首部标明请求主体大小,或使用分块传输编码并正确指定分块长度。

412 Precondition Failed

中文:412 预处理失败

专业的意思:客户端条件请求中,If-Unmodified-SinceIf-None-Match等首部规定的先决条件不成立,导致请求无法执行。

比喻:如同你说 “我要买昨天生产的新鲜面包”,但店员说 “昨天的面包已经卖完了,只有今天的”。

实际场景:用户通过 If-Unmodified-Since: 2025-08-18 条件请求修改一份文档,要求仅当文档自 8 月 18 日后未被修改时才执行更新,但服务器检测到文档在 8 月 19 日已被他人修改,此时返回 412 提示预处理条件不成立,无法执行请求。

解决方案:检查条件请求的先决条件(如时间、版本号)是否合理,调整条件后重新请求,或取消不必要的条件限制。

413 Content Too Large

中文:413 请求实体过大

专业的意思:客户端请求主体大小超过服务器处理限度,服务器可能关闭连接或返回Retry-After首部,RFC 9110 前称为 Payload Too Large。

比喻:好比带超大行李箱上飞机,空姐说 “行李超重,无法随身携带,请办理托运或拆分行李”。

实际场景:用户通过 POST 方法上传 2GB 视频文件到某平台,而服务器设置的最大请求实体限制为 500MB,此时服务器返回 413 ,提示文件过大无法处理,需压缩视频或分多段上传。

解决方案:压缩请求内容、分块传输大文件,或联系服务器管理员放宽大小限制后重新发送。

414 URI Too Long

中文:414 URI 过长

专业的意思:客户端请求的 URI 长度超过服务器允许范围,可能因误将 POST 数据放入 GET 查询字符串、重定向循环或攻击导致。

比喻:如同写快递地址时写了满满三页纸,快递员说 “地址太长无法记录,请简化后再填写”。

实际场景:用户在搜索框输入大量关键词,系统错误地将所有内容通过 GET 方法拼接成超长 URL 提交,或因多次重定向导致 URL 累积过长,服务器返回 414 提示 URI 超出处理长度,需改用 POST 方法传递参数或简化请求地址。

解决方案:将长参数放入请求主体(使用 POST 方法),缩短 URL 长度(如使用短链接),或检查是否存在重定向循环。

415 Unsupported Media Type

中文:415 不支持的媒体类型

专业的意思:服务器无法处理请求附带的媒体格式,即请求的Content-Type不被服务器支持。

比喻:好比给打印机发送语音文件要求打印,打印机提示 “仅支持 Word 和 PDF 格式,无法识别语音文件”。

实际场景:用户上传 .psd 格式的设计文件到仅支持 .jpg 和 .png 格式的图片存储接口,服务器返回 415 并提示不支持该媒体类型,需将文件转换为允许的格式后重新上传。

解决方案:更换为服务器支持的媒体格式(查看服务文档中的Accept说明),修改Content-Type后重新请求。

416 Range Not Satisfiable

中文:416 范围请求无法满足

专业的意思:客户端请求的Range区间无效(如超出资源实际范围),服务器无法提供对应的数据区间。

比喻:如同让奶茶店 “给我倒第 100-200 毫升的奶茶”,但杯子只有 150 毫升,店员说 “无法满足该区间要求”。

实际场景:用户通过 Range 首部请求下载一个 500MB 的文件的 600-700MB 区间数据,或请求的起始位置大于文件总大小,服务器返回 416 并在 Content-Range 中说明文件实际大小,提示调整范围后重新请求。

解决方案:检查Range首部指定的区间是否合理,确保区间在资源实际大小范围内,修正后重新请求。

417 Expectation Failed

中文:417 期望失败

专业的意思:客户端请求中包含Expect首部,而服务器无法满足其中的期望(如要求特殊处理)。

比喻:好比点外卖时备注 “必须 30 分钟内送达,否则拒收”,店家说 “距离太远无法满足,这单无法接单”。

实际场景:用户在请求头中通过 Expect: 100-continue 要求服务器先确认是否接收大文件,而服务器不支持该机制或因负载过高无法处理,返回 417 提示无法满足期望,需取消该首部后重新发送请求。

解决方案:删除请求中不合理的Expect期望,或更换为能够满足期望的服务器,调整请求后重新发送。

421 Misdirected Request

中文:421 请求被错误定向

专业的意思:客户端请求被发送到错误的服务器,该服务器无法处理请求,通常因服务器配置错误或网络路由问题导致。

比喻:如同寄快递时填错地址,把北京的件寄到了上海网点,上海网点说 “这不是我的派送范围”。

实际场景:用户因 DNS 缓存错误,将请求发送到了与目标域名无关的服务器(如本应访问 api.example.com 却被解析到 api.other.com),该服务器无法处理请求,返回 421 提示请求被错误定向,需修正域名解析后重新访问。

解决方案:检查域名解析、服务器地址是否正确,修正请求的目标服务器地址后重新发送请求。

422 Unprocessable Entity

中文:422 无法处理的实体

专业的意思:服务器能理解请求实体的内容类型,但无法处理其中的语义错误,常见于 WebDAV 或 RESTful API 场景。

比喻:好比填入职表时身份证号写了字母,HR 说 “表格格式正确,但身份证号内容无效,请重新填写”。

实际场景:用户通过 API 提交用户注册信息,Content-Type 为正确的 JSON 格式,但手机号字段填写为 “12345”(不符合 11 位数字规则),服务器返回 422 提示请求格式正确但内容语义无效,需修正手机号后重新提交。

解决方案:检查请求内容的语义是否符合规则(如手机号格式、用户名唯一性),修正错误内容后重新提交。

423 Locked

中文:423 已锁定

专业的意思:WebDAV 协议中,资源当前被锁定,无法进行修改等操作,通常因多人同时编辑导致。

比喻:如同想编辑共享文档时,系统提示 “同事正在编辑该文档,已被锁定,请稍后再试”。

实际场景:用户在协作编辑 WebDAV 协议的协作编辑系统中,尝试修改一份正被其他用户编辑并锁定的文档时,服务器返回 423 提示资源已锁定,需等待其他用户完成编辑并解锁后,才能进行修改操作。

解决方案:等待资源锁定释放后再操作,或联系锁定者协商解锁,避免强制操作导致内容冲突。

424 Failed Dependency

中文:424 依赖失败

专业的意思:请求失败因依赖的另一个请求失败,常见于微服务架构中,一个服务依赖多个其他服务完成请求。

比喻:好比网购 “手机 + 充电器套餐”,店家说 “充电器暂时缺货,无法发货,手机也无法单独寄出”。

实际场景:用户在电商平台提交包含优惠券的订单时,订单服务需先调用优惠券验证服务,若优惠券服务返回无效(如已过期),订单服务因依赖失败返回 424,提示需先解决优惠券问题才能完成订单提交。

解决方案:先排查并解决依赖请求的错误(如修复依赖的服务接口),待依赖请求成功后再重试当前请求。

425 Too Early

中文:425 过早请求
专业的意思:服务器担心请求可能被重放(如网络延迟导致重复提交),不愿意处理过于频繁的请求。
比喻:如同刚下单就连续催快递 “怎么还没到”,快递员说 “刚接单就频繁催促,太急了,请稍后再查询”。

实际场景:用户在网络延迟时连续点击支付按钮,短时间内向服务器发送多次相同的支付请求,服务器为防止重复支付风险,返回 425 提示请求过于频繁,需间隔一段时间后再尝试提交。

解决方案:等待几秒后再重试请求,避免短时间内连续发送相同请求,降低请求频率以防被判定为重放。

426 Upgrade Required

中文:426 需要升级

专业的意思:服务器要求客户端升级 HTTP 协议版本才能处理请求,如客户端使用 HTTP/1.0 而服务器仅支持 HTTP/2.0。

比喻:好比用老旧功能机连 5G 网络,运营商提示 “请更换支持 5G 的手机才能接入 5G 网络”。

实际场景:用户使用仅支持 HTTP/1.1 的旧版浏览器访问强制要求 HTTP/2.0 的加密网站时,服务器返回 426 并在响应中说明需升级协议版本,提示用户更换支持新协议的浏览器后重新访问。

解决方案:更新客户端以支持服务器要求的协议版本,或联系服务提供方协商降级协议要求。

428 Precondition Required

中文:428 需要预处理

专业的意思:服务器要求客户端在请求中包含特定的条件首部(如If-Match),否则拒绝处理请求。

比喻:如同去图书馆借书,管理员说 “必须填写借阅单并注明借阅期限,否则不予借书”。

实际场景:用户尝试直接修改服务器上的文档而未在请求中添加 If-Match 首部验证版本,服务器为确保数据一致性,返回 428 提示需先添加条件首部(如验证当前版本是否匹配),满足预处理要求后才能执行修改操作。

解决方案:按服务器要求添加条件首部(如通过If-Match验证资源版本),补全请求条件后重新发送。

429 Too Many Requests

中文:429 请求过多

专业的意思:客户端在一定时间内发送的请求数量超出服务器频次限制,响应可能包含Retry-After首部提示等待时间。

比喻:好比一分钟内连续刷 100 次购票软件,系统提示 “操作过于频繁,请休息 10 分钟后再试”。

实际场景:批量请求 API、频繁刷新页面、抢票软件高频访问,触发网站的防刷机制。

解决方案:根据Retry-After提示等待相应时间,或减少请求频率(如添加请求间隔),避免触发限流。

431 Request Header Fields Too Large

中文:431 请求头字段过大

专业的意思:客户端请求头字段的总大小超过服务器处理限度,通常因 Cookie 过多或单个头字段过大导致。

比喻:如同寄快递时贴了 10 张备注纸条,快递员说 “备注信息太多无法粘贴,请精简后再寄”。

实际场景:用户长期使用某网站积累了大量未清理的 Cookie,在发送请求时请求头总大小超过服务器 4KB 限制,或单个自定义头字段包含过长信息,服务器返回 431 提示头字段过大,需清理 Cookie 或简化头信息后重新请求。

解决方案:清理不必要的请求头信息(如删除无用 Cookie),拆分过大的头字段,或分多次发送请求。

451 Unavailable For Legal Reasons

中文:451 因法律原因不可用

专业的意思:服务器因法律原因无法提供请求的资源,如内容涉及版权问题、违反当地法规等。

比喻:好比想买某本书,书店说 “这本书因违规已被下架,无法售卖”。

实际场景:用户访问某境外网站上的盗版影视资源,该网站因当地版权法规限制,对特定地区 IP 返回 451 状态码,提示资源因法律原因不可访问,需通过合法渠道获取内容。

解决方案:停止请求该资源,寻找合法的替代资源,或联系服务提供方确认资源无法访问的具体法律原因。

五.5xx 服务器错误状态码

500 Internal Server Error

中文:500 内部服务器错误

专业的意思:服务器遇到意外情况(如代码 bug、配置错误)导致无法执行请求,是通用的服务器内部错误响应。

比喻:如同去餐厅吃饭,厨师炒菜时锅突然坏了,服务员说 “后厨出了点问题,请稍等片刻”。

实际场景:网站代码出错、数据库连接失败、服务器资源耗尽(如内存不足)。

解决方案:这不是客户端问题,可等待几分钟后重试,若问题持续,联系服务器管理员检查并修复错误。

501 Not Implemented

中文:501 未实现

专业的意思:服务器不支持请求使用的 HTTP 方法,服务器必须支持的方法仅为 GET 和 HEAD,其他方法可能未实现。

比喻:好比去自动售票机买高铁票,机器提示 “本机器仅支持购买火车票,无法购买高铁票”。

实际场景:用户使用 PATCH 方法更新服务器资源,但该服务器仅实现了 GET、POST、PUT、DELETE 方法,不支持 PATCH 操作,此时服务器返回 501 提示该 HTTP 方法未实现,需改用支持的 PUT 方法完成更新。

解决方案:更换为服务器支持的 HTTP 方法,或联系管理员升级服务器以支持所需方法。

502 Bad Gateway

中文:502 错误网关

专业的意思:作为网关或代理的服务器从上游服务器接收无效响应,导致无法完成请求处理。

比喻:如同通过中介租房,中介说 “房东那边信号中断,我无法联系到他获取房源信息”。

实际场景:CDN 节点故障、反向代理配置错误、上游服务器崩溃,导致中间服务器无法获取数据。

解决方案:刷新页面重试,检查网络连接是否正常,若问题持续,联系服务器管理员修复网关或代理配置。

503 Service Unavailable

中文:503 服务不可用

专业的意思:服务器暂时无法处理请求,通常因停机维护、服务器超载导致,响应可包含Retry-After首部提示恢复时间。

比喻:好比去商场逛街,发现大门关着,门口贴通知 “今日内部盘点,明日正常营业”。

解决方案:按Retry-After提示的时间等待,或稍后再试,避免在服务器维护或超载时段频繁请求。

504 Gateway Timeout

中文:504 网关超时

专业的意思:作为网关或代理的服务器未在规定时间内收到上游服务器的响应,导致请求超时。

比喻:如同让朋友帮忙打听事情,等了很久朋友都没回话,你说 “等太久了,可能联系不上”。

实际场景:用户通过公司代理服务器访问外部 API,代理服务器需向上游服务器转发请求,但上游服务器因负载过高未及时响应,代理服务器等待超时后返回 504,提示网关与上游服务器通信超时,需稍后重试或联系管理员排查链路问题。

解决方案:重试几次请求,若问题持续,联系管理员检查网关、代理与上游服务器之间的网络链路。

505 HTTP Version Not Supported

中文:505 HTTP 版本不支持

专业的意思:服务器不支持客户端请求使用的 HTTP 版本,无法处理该版本协议的请求。

比喻:好比用新款 MP3 光盘插入老式录音机,录音机提示 “仅支持磁带播放,无法读取光盘”。

实际场景:用户的客户端使用 HTTP/3.0 协议发送请求,但服务器仅支持 HTTP/1.1 和 HTTP/2.0 版本,无法解析 HTTP/3.0 的请求格式,此时服务器返回 505 提示不支持该 HTTP 版本,需将客户端协议版本降至服务器支持的范围后重新请求。

解决方案:降低客户端使用的 HTTP 版本,或联系服务器管理员升级服务器以支持所需的 HTTP 版本。

506 Variant Also Negotiates

中文:506 变体也协商

专业的意思:服务器在内容协商过程中存在配置错误,导致协商循环,无法确定返回的资源版本。

比喻:你问店员 “哪种饮料甜”,店员说 “可乐甜,但可乐的甜度说明也在问哪种甜,我懵了”。

实际场景:用户请求某资源时,服务器需通过内容协商(如根据语言、编码选择版本),但配置中 A 版本依赖 B 版本,B 版本又依赖 A 版本,形成循环无法确定返回内容,服务器返回 505 提示协商失败,需联系管理员修复内容协商配置逻辑。

解决方案:服务器配置出错(内容协商循环),这是服务器的问题,联系管理员修复配置,你没法直接解决。

507 Insufficient Storage

中文:507 存储空间不足

专业的意思:WebDAV 协议中,服务器因存储空间不足无法存储请求附带的数据,导致请求无法执行。

比喻:好比去存行李,储物柜提示 “存储空间已满,无法存放你的箱子”。

实际场景:用户通过 WebDAV 协议向服务器上传大量备份文件,此时服务器的磁盘存储空间已达上限,无法接收新文件,服务器返回 507 提示存储空间不足,需等待管理员清理冗余文件或扩容后再重新上传。

解决方案:等待服务器清理存储空间,或压缩请求数据大小,也可联系管理员扩容服务器存储。

508 Loop Detected

中文:508 检测到循环

专业的意思:服务器在处理请求时检测到重定向循环(如 A→B→A),导致请求无法正常完成。

比喻:如同按导航开车,导航让你 “左转后右转再左转”,结果绕回原点,导航说 “检测到路线循环”。

实际场景:用户访问 a.example.com 时,服务器配置为重定向到 b.example.com,而 b.example.com 又被配置重定向回 a.example.com,形成 A→B→A 的无限循环,服务器检测到后返回 508 提示重定向循环,需联系管理员修正双方的重定向规则才能正常访问。

解决方案:这是服务器重定向配置错误,客户端无法解决,需联系管理员修改重定向规则打破循环。

510 Not Extended

中文:510 未扩展

专业的意思:客户端请求的功能需要服务器支持特定的 HTTP 扩展,但服务器未实现该扩展功能。

比喻:好比用新款游戏手柄连接旧游戏机,游戏机提示 “你的手柄功能太新,我不支持该功能”。

实际场景:用户的客户端在请求中使用了某 HTTP 扩展功能(如自定义的缓存控制扩展),但服务器未部署该扩展模块,无法解析相关指令,返回 510 提示需要的扩展未实现,需关闭客户端的该扩展功能或等待服务器升级支持后再请求。

解决方案:关闭客户端的扩展功能请求,或联系管理员升级服务器以支持所需的 HTTP 扩展。

511 Network Authentication Required

中文:511 需要网络认证

专业的意思:客户端需要先完成网络认证(如公共 WiFi 登录、企业内网认证)才能访问目标资源,由网络拦截代理生成。

比喻:如同连接酒店 WiFi 时,浏览器提示 “请先在登录页面输入房号和密码,认证后才能上网”。

实际场景:用户连接商场公共 WiFi 后直接访问网页,网络中的认证代理拦截请求并返回 510 状态码,同时展示登录页面,提示需输入手机号获取验证码完成认证,通过后才能正常访问互联网资源。

解决方案:按提示完成网络认证流程(如输入账号密码、同意条款),通过认证后即可访问目标资源。

总结

掌握 HTTP 状态码,就像拿到了互联网世界的 “故障诊断手册”。

1xx 的信息提示无需紧张,

2xx 的成功响应让你安心使用,

3xx 的重定向只需按提示跳转,

4xx 的客户端错误提醒你检查操作(如网址拼写、登录状态),

5xx 的服务器问题则需耐心等待修复。

这些数字背后,是服务器与客户端的高效对话,也是我们解决网络问题的关键线索。下次再遇到状态码,不妨对照这份指南,轻松读懂互联网的 “暗语”,让网络体验更顺畅。

音乐推广宣发