目录
1xx(信息性状态码)
2xx(成功状态码)
3xx(重定向状态码)
4xx(客户端错误状态码)
5xx(服务器错误状态码)
参考文章
以下是 HTTP 动态报错码的常见原因和解决方法的详细说明:
https://i-blog.csdnimg.cn/img_convert/134c3e3c7a675a7eb21de149487a3ec5.png" width="474" />
1xx(信息性状态码)
100 Continue
- 常见原因:客户端在发送请求体之前,先发送请求头,等待服务器确认是否可以继续发送请求体。
- 解决方法:客户端在收到 100 Continue 响应后,继续发送请求体。
101 Switching Protocols
- 常见原因:客户端请求切换到另一个协议(如从 HTTP 切换到 WebSocket),服务器同意并确认切换。
- 解决方法:客户端和服务器协商切换到新的协议,并按照新协议进行通信。
102 Processing
- 常见原因:服务器已收到请求并正在处理,但尚未完成。
- 解决方法:客户端等待服务器完成处理,无需采取额外行动。
103 Early Hints
- 常见原因:服务器已收到请求并准备返回一些响应头信息,但尚未开始处理请求。
- 解决方法:客户端可以利用这些早期提示信息进行预处理,如预加载资源。
2xx(成功状态码)
200 OK
- 常见原因:请求成功,服务器返回了请求的资源。
- 解决方法:无需采取任何行动,客户端可以正常处理返回的资源。
201 Created
- 常见原因:客户端发送了一个创建资源的请求(如 POST 请求),服务器成功创建了新资源。
- 解决方法:检查响应头中的
Location
字段,获取新资源的 URI,并根据需要进行后续操作。
202 Accepted
- 常见原因:服务器已收到请求,但需要时间处理,尚未完成。
- 解决方法:客户端可以定期轮询或使用服务器提供的回调机制,等待处理结果。
203 Non-Authoritative Information
- 常见原因:返回的元信息不是从原始服务器获取的,可能是从缓存或其他代理服务器获取的。
- 解决方法:如果需要确保获取最新的元信息,可以尝试直接访问原始服务器。
204 No Content
- 常见原因:请求成功,但没有返回任何内容。
- 解决方法:无需采取任何行动,客户端可以继续进行后续操作。
205 Reset Content
- 常见原因:服务器希望客户端重置文档视图,以便用户可以看到最新的内容。
- 解决方法:重置文档视图,刷新页面或重新加载资源。
206 Partial Content
- 常见原因:客户端发送了一个范围请求,服务器返回了部分内容。
- 解决方法:处理返回的部分内容,通常用于断点续传或范围请求。
207 Multi-Status
- 常见原因:服务器返回了多个状态码,通常用于 WebDAV 操作。
- 解决方法:处理返回的多个状态码,根据每个状态码的含义进行相应的操作。
208 Already Reported
- 常见原因:请求的资源已经被报告过,通常用于 WebDAV 操作。
- 解决方法:无需采取任何行动,客户端可以继续进行后续操作。
226 IM Used
- 常见原因:请求的资源使用了特定的表示方法。
- 解决方法:处理返回的资源,确保客户端支持该表示方法。
3xx(重定向状态码)
300 Multiple Choices
- 常见原因:请求有多个可能的响应,客户端需要选择一个。
- 解决方法:根据服务器返回的响应选择一个合适的响应,通常通过
Location
头字段进行重定向。
301 Moved Permanently
- 常见原因:请求的资源已永久移动到新位置。
- 解决方法:更新请求的 URI,指向新的位置,并使用
GET
方法访问新 URI。
302 Found
- 常见原因:请求的资源临时移动到新位置。
- 解决方法:更新请求的 URI,指向新的位置,并使用
GET
方法访问新 URI。
303 See Other
- 常见原因:客户端应该使用
GET
方法访问另一个 URI。 - 解决方法:使用
GET
方法访问新的 URI,通常用于重定向到另一个页面。
304 Not Modified
- 常见原因:请求的资源未修改,客户端可以使用缓存的版本。
- 解决方法:使用缓存的版本,无需重新下载资源。
305 Use Proxy
- 常见原因:客户端必须通过代理访问请求的资源。
- 解决方法:通过代理访问请求的资源,确保代理配置正确。
306 Switch Proxy
- 常见原因:客户端必须通过另一个代理访问请求的资源。
- 解决方法:通过另一个代理访问请求的资源,确保代理配置正确。
307 Temporary Redirect
- 常见原因:请求的资源临时重定向到另一个 URI,客户端应保持请求方法不变。
- 解决方法:保持请求方法不变,访问新的 URI。
308 Permanent Redirect
- 常见原因:请求的资源永久重定向到另一个 URI,客户端应保持请求方法不变。
- 解决方法:保持请求方法不变,访问新的 URI。
4xx(客户端错误状态码)
400 Bad Request
- 常见原因:请求语法错误,服务器无法解析。可能是表单数据格式错误、请求头缺失、URL 参数非法等。
- 解决方法:检查请求参数或数据格式,确保符合服务器要求。例如,检查 JSON 或 XML 格式是否正确,确保 URL 参数合法。
401 Unauthorized
- 常见原因:请求需要身份验证,但未提供有效凭证。可能是未携带 Token、Cookie 过期、认证信息错误等。
- 解决方法:补充有效的身份凭证,如 OAuth Token、Basic Auth 等。确保身份验证信息正确无误。
402 Payment Required
- 常见原因:预留状态码,未来可能用于要求支付。
- 解决方法:目前无需采取任何行动,等待具体实现。
403 Forbidden
- 常见原因:服务器理解请求,但拒绝执行,通常是权限不足。可能是文件权限配置错误、IP 黑名单、访问受限资源等。
- 解决方法:检查文件系统权限或服务器 ACL(访问控制列表)配置,确保有访问资源的权限。
404 Not Found
- 常见原因:请求的资源不存在。可能是 URL 拼写错误、资源被删除、路由配置错误等。
- 解决方法:核对 URL 路径,确保资源存在。如果资源被删除,可以设置自定义 404 页面引导用户。
405 Method Not Allowed
- 常见原因:请求的方法(如
GET
或POST
)不被允许。可能是客户端使用了服务器不允许的 HTTP 请求方法。 - 解决方法:使用允许的方法访问资源。检查服务器配置,确保允许使用该方法。
406 Not Acceptable
- 常见原因:请求的资源不可接受,通常是由于请求头中的
Accept
不匹配。可能是客户端请求的媒体类型不被服务器支持。 - 解决方法:调整请求头中的
Accept
,确保与服务器支持的格式匹配。
407 Proxy Authentication Required
- 常见原因:需要通过代理服务器进行身份验证。可能是未提供代理身份验证信息或代理身份验证失败。
- 解决方法:提供有效的代理身份验证信息,确保代理配置正确。
408 Request Timeout
- 常见原因:请求超时,客户端在指定时间内未发送请求或未完成请求。可能是网络延迟、客户端未及时发送请求等。
- 解决方法:重新发送请求,确保在指定时间内完成。可以增加超时时间设置。
409 Conflict
- 常见原因:请求与当前资源状态冲突。可能是资源已被修改,导致冲突。
- 解决方法:检查资源状态,确保请求不会导致冲突。可以使用条件请求,如
If-Match
头字段。
410 Gone
- 常见原因:请求的资源已被永久删除,不再可用。可能是资源已被删除,且无进一步的参考地址。
- 解决方法:检查资源是否被删除,尝试访问其他资源。可以设置自定义 410 页面引导用户。
411 Length Required
- 常见原因:请求需要提供
Content-Length
头信息,但该信息缺失。可能是客户端未设置Content-Length
头字段。 - 解决方法:提供
Content-Length
头信息,确保请求体大小正确。
412 Precondition Failed
- 常见原因:请求头中的某个先决条件失败,导致请求无法继续处理。可能是请求头中的条件(如
If-Match
)不满足。 - 解决方法:检查请求头中的先决条件,确保满足服务器要求。可以调整条件或移除不必要的条件。
413 Payload Too Large
- 常见原因:请求体过大,无法处理。可能是请求体超过了服务器允许的最大大小。
- 解决方法:减小请求体大小,确保不超过服务器限制。可以分块发送请求体。
414 URI Too Long
- 常见原因:请求的 URI 太长,服务器无法处理。可能是 URI 包含过多参数或路径过长。
- 解决方法:缩短请求的 URI,确保不超过服务器限制。可以使用 POST 请求发送数据,避免 URI 过长。
415 Unsupported Media Type
- 常见原因:请求的媒体类型不被支持。可能是客户端请求的媒体类型不被服务器支持。
- 解决方法:使用服务器支持的媒体类型。检查服务器文档,确保使用正确的媒体类型。
416 Range Not Satisfiable
- 常见原因:请求的范围不符合资源,通常在处理部分请求时出现。可能是请求的范围超出资源大小。
- 解决方法:调整请求的范围,确保符合资源大小。可以使用
Content-Range
头字段。
417 Expectation Failed
- 常见原因:服务器无法满足请求头中的
Expect
字段要求。可能是Expect
字段的值不被服务器支持。 - 解决方法:调整请求头中的
Expect
字段,确保满足服务器要求。可以移除不必要的Expect
字段。
418 I'm a teapot
- 常见原因:表示服务器拒绝 Hyper Text Coffee Pot Control Protocol 试探。
- 解决方法:无需采取任何行动,通常用于调试或测试。
421 Misdirected Request
- 常见原因:请求被错误地指向了某个服务器,通常是因为 DNS 错误。可能是客户端请求的服务器地址错误。
- 解决方法:检查 DNS 设置,确保请求指向正确的服务器。可以使用
nslookup
或dig
命令检查 DNS 解析。
422 Unprocessable Entity
- 常见原因:请求格式正确,但由于语义错误无法处理。可能是请求的数据不符合服务器要求。
- 解决方法:检查请求的数据格式和语义,确保符合服务器要求。可以参考服务器文档,确保数据格式正确。
423 Locked
- 常见原因:资源被锁定,无法进行修改。可能是资源被其他用户或进程锁定。
- 解决方法:解锁资源,确保可以进行修改。可以等待资源解锁或联系管理员。
424 Failed Dependency
- 常见原因:依赖请求失败,通常用于 WebDAV。可能是依赖的资源不存在或无法访问。
- 解决方法:检查依赖的资源,确保存在且可访问。可以重新获取依赖资源或联系管理员。
425 Too Early
- 常见原因:请求太早,服务器尚未准备好处理。可能是服务器正在维护或未启动。
- 解决方法:等待服务器准备好,再发送请求。可以设置重试机制,定期检查服务器状态。
426 Upgrade Required
- 常见原因:需要升级协议,服务器支持某个更高版本的协议。可能是客户端使用的协议版本过低。
- 解决方法:升级协议,确保使用服务器支持的协议版本。可以参考服务器文档,了解支持的协议版本。
428 Precondition Required
- 常见原因:请求需要先决条件,且没有满足条件的请求。可能是请求缺少必要的条件。
- 解决方法:提供必要的先决条件,确保请求满足服务器要求。可以参考服务器文档,了解所需的条件。
429 Too Many Requests
- 常见原因:在指定时间段内太多请求,也就是超过了 rate limit。可能是客户端发送的请求过多。
- 解决方法:减少请求频率,等待一段时间后再发送请求。可以设置重试机制,避免频繁发送请求。
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
- 常见原因:服务器不支持请求中使用的 HTTP 版本。可能是客户端使用的 HTTP 版本过新或过旧。
- 解决方法:使用服务器支持的 HTTP 版本。可以参考服务器文档,了解支持的 HTTP 版本。
506 Variant Also Negotiates
- 常见原因:内部配置错误。可能是服务器配置错误,导致无法正确处理请求。
- 解决方法:检查服务器配置,确保正确无误。可以参考服务器文档,了解正确的配置方法。
507 Insufficient Storage
- 常见原因:服务器存储不足。可能是服务器磁盘空间已满,无法处理请求。
- 解决方法:清理服务器存储,释放磁盘空间。可以删除不必要的文件或扩容磁盘。
508 Loop Detected
- 常见原因:检测到循环。可能是服务器内部存在循环引用,导致无法处理请求。
- 解决方法:检查服务器配置,确保不存在循环引用。可以参考服务器文档,了解正确的配置方法。
510 Not Extended
- 常见原因:仅用于研究目的。可能是服务器未实现该功能或配置错误。
- 解决方法:检查服务器配置,确保支持请求的功能。可以升级服务器或联系管理员。
511 Network Authentication Required
- 常见原因:需要网络认证。可能是客户端未提供网络认证信息或认证失败。
- 解决方法:提供有效的网络认证信息,确保认证成功。可以参考服务器文档,了解所需的认证方法。
参考文章
(1)https://baike.baidu.com/item/http%e7%8a%b6%e6%80%81%e7%a0%81/5053660
(2)HTTP 响应状态码 - HTTP | MDN
(3)HTTP 状态码:完整列表
(4)HTTP 状态码 | 菜鸟教程
(5)HTTP状态码对照表 HTTP response codes - 在线工具