HTTP协议返回状态码总结
http 返回状态码总结使用HTTP协议访问网页时根据服务器返回的状态码Status Code和请求的执行情况可以总结为以下几类情况1. 成功响应 (2xx)表示服务器成功接收、理解并处理了请求。200 OK最常见请求成功返回的网页内容HTML、图片等在响应体中。201 Created请求成功且服务器创建了新资源如POST提交表单后。204 No Content请求成功但响应体中没有内容常用于删除操作后。2. 重定向 (3xx)表示需要客户端采取进一步操作如跳转到另一个URL才能完成请求。301 Moved Permanently资源已永久移动到新URL例如HTTP跳HTTPS。浏览器会自动跳转并缓存新地址。302 Found资源临时移动到新URL。浏览器会跳转但不会缓存新地址旧地址未来可能恢复。304 Not Modified资源未修改。客户端可使用本地缓存的版本无需重新发送完整内容常用于协商缓存。3. 客户端错误 (4xx)表示请求有误服务器无法处理通常需要修改客户端请求。400 Bad Request请求语法错误如参数格式错误、Header过大。401 Unauthorized需要用户认证未登录或认证信息无效。403 Forbidden服务器理解请求但拒绝执行如权限不足、IP被禁。与401不同即使登录也可能无法访问。404 Not Found请求的资源在服务器上不存在。405 Method Not Allowed使用了不支持的HTTP方法如对静态文件用POST。429 Too Many Requests客户端发送请求过快触发限流。4. 服务器错误 (5xx)表示服务器自身出错无法响应有效请求。500 Internal Server Error服务器内部通用错误如代码异常、数据库连接失败。502 Bad Gateway网关或代理服务器从上游服务器收到无效响应如后端服务崩溃。503 Service Unavailable服务器暂时过载或正在维护可能稍后恢复。504 Gateway Timeout网关或代理服务器等待上游响应超时。5. 网络层面问题无状态码请求完全失败连HTTP响应都未收到。连接超时服务器在指定时间内无响应通常超过30-120秒。连接被拒绝目标端口未开放服务未启动或防火墙拦截。DNS解析失败域名无法解析为IP地址。SSL/TLS错误证书无效、过期或协议不匹配浏览器会拦截显示警告。总结表快速参考情况类别常见状态码典型场景成功200, 201正常访问网页、提交表单重定向301, 302网站地址变更、临时跳转客户端错误404, 403, 401页面未找到、无权限、未登录服务器错误500, 502, 503代码错误、后端服务崩溃、维护中网络错误无状态码超时、DNS失败、拒绝连接了解这些状态码有助于调试网页访问问题、优化缓存策略以及区分是客户端还是服务端的问题。面试考点1. 基础记忆与分类考点要求默写分类请你说出HTTP状态码分为哪几类1xx信息、2xx成功、3xx重定向、4xx客户端错误、5xx服务端错误。高频状态码含义必须熟练解释200、301、302、304、400、401、403、404、405、429、500、502、503、504的含义。概念辨析301vs302哪个是永久移动哪个是临时移动浏览器缓存行为有何不同401vs403哪个代表“未认证”哪个代表“无权限”502vs504哪个是“收到了无效响应”哪个是“等待响应超时”2. 场景应用与业务逻辑考点重定向场景网站从HTTP升级到HTTPS应该用哪个状态码301用户访问/old-page需要自动跳到/new-page且未来旧地址不再使用用什么301网站维护期间临时将所有请求跳转到“维护中”页面用什么302 或 307缓存相关304 Not Modified的作用是什么它和200的区别是什么协商缓存无Body什么情况下服务器会返回304客户端发送If-Modified-Since或If-None-Match且资源未变错误处理前端表单提交后返回400 Bad Request应该怎么排查检查请求参数格式、大小、编码用户登录后访问某个API却返回403可能的原因是什么登录用户但角色权限不足出现429 Too Many Requests是什么问题如何解决请求频率超限实现限流/退避重试3. 深层原理与网络排查考点301/302重定向原理描述完整流程客户端请求 → 服务端返回Location头 → 客户端重新发起请求 → 返回最终资源。304优化机制304如何减少带宽消耗为什么说它虽然属于3xx但不算真正的重定向5xx错误根源500一般如何定位看应用日志、检查代码异常、数据库连接池502如果Nginx返回502可能后端什么服务挂了PHP-FPM、Java应用、Node服务未启动或崩溃503什么场景下主动返回503负载均衡器健康检查失败、服务主动停机维护504发生504时是上游服务处理太慢还是网关配置超时太短都有可能需排查上游响应时间和网关超时设置4. 排查思路与综合题考点现场模拟用户反馈“网页打不开”浏览器显示500 Internal Server Error。你作为后端排查步骤1. 看错误日志 2. 复现请求 3. 检查服务状态 4. 看数据库连接 5. 检查第三方接口抓包分析用curl -I或浏览器开发者工具看到状态码302如何判断是临时还是永久查看Cache-Control或浏览器是否自动记住了跳转安全性结合为什么有些网站敏感页面返回404而不是403防止信息泄露——避免让攻击者知道资源存在但没权限前沿知识点HTTP/2 或 HTTP/3 是否改变了状态码的含义基本不变但新增了如421 Misdirected Request等少量扩展面试常见追问示例面试官问题考点“你见过304吗浏览器是如何知道用缓存的”协商缓存原理Last-Modified / ETag If-None-Match“重启后端服务后Nginx报502过几秒就好了为什么”服务启动慢健康检查未通过/端口未监听“访问图片返回200和304哪个更快为什么”304更快因为几乎没有响应体只传Header“用户上传文件后浏览器报413 Payload Too Large这是哪个范围的状态码”4xx实际上是413属于客户端错误请求实体过大建议准备简短话术“状态码是HTTP协议中服务器对请求结果的‘结论标签’。日常工作里2xx代表正常3xx用于跳转和缓存优化如3044xx是客户端问题最常见的404、403、4295xx是服务器端故障500/502/503/504。排查问题时会先看状态码再结合日志、抓包和业务逻辑定位。”掌握以上内容足以应对大多数HTTP状态码相关的面试提问。