返回
揭秘 HTTP 返回状态码:服务器与客户端之间的交流语言
见解分享
2023-09-26 05:31:33
HTTP 概述
超文本传输协议(HTTP)是一种基于客户端/服务器(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。在一个 HTTP 请求中,客户端会向服务器发送一个请求报文,服务器在接收到请求报文后,会返回一个响应报文给客户端。HTTP 状态码是服务器在响应报文中包含的重要信息之一,它告知客户端服务器对请求的处理结果。
常见 HTTP 状态码
HTTP 状态码是一个三位数字的代码,它被分为五个不同的类别:
-
1xx:信息响应
- 100:继续
- 101:切换协议
- 102:处理中(WebDAV)
- 103:早期提示
-
2xx:成功响应
- 200:成功
- 201:已创建
- 202:已接受
- 203:非授权信息
- 204:无内容
- 205:重置内容
- 206:部分内容
-
3xx:重定向
- 300:多重选择
- 301:永久重定向
- 302:临时重定向
- 303:查看其他位置
- 304:未修改
- 305:使用代理
- 307:临时重定向(WebDAV)
-
4xx:客户端错误
- 400:错误的请求
- 401:未授权
- 403:禁止
- 404:未找到
- 405:方法不允许
- 406:不可接受
- 407:需要代理授权
- 408:请求超时
- 409:冲突
- 410:已删除
- 411:长度需要
- 412:预期的失败
- 413:请求实体过大
- 414:请求的 URI 太长
- 415:不支持的媒体类型
- 416:请求范围不满意
- 417:期望值失败
- 418:我是茶壶
- 422:不可处理的实体
- 423:已锁定
- 424:失败的依赖
- 425:过大
- 426:升级必需
- 428:前提条件失败
- 429:太多请求
- 431:请求标头字段太大
- 451:不可用以法律为依据
-
5xx:服务器错误
- 500:内部服务器错误
- 501:未实现
- 502:错误的网关
- 503:服务不可用
- 504:网关超时
- 505:HTTP 版本不受支持
- 506:变体也协商
- 507:不充分的存储空间
- 508:循环依赖
- 510:尚未实现
- 511:网络身份验证失败
如何对 HTTP 状态码进行故障排除
当您在使用 HTTP 协议时遇到问题时,HTTP 状态码可以帮助您快速定位问题的根源。以下是常见的 HTTP 状态码的故障排除方法:
-
1xx:信息响应
-
100:继续
- 故障排除:此状态码通常用于表示服务器已收到客户端的请求,并且正在处理中。如果服务器没有返回 100 状态码,则客户端可以继续发送请求。
-
101:切换协议
- 故障排除:此状态码表示服务器已接受客户端请求的协议切换。如果服务器没有返回 101 状态码,则客户端不能切换协议。
-
102:处理中(WebDAV)
- 故障排除:此状态码表示服务器正在处理客户端的请求,但尚未完成。如果服务器没有返回 102 状态码,则客户端可以继续发送请求。
-
103:早期提示
- 故障排除:此状态码表示服务器已收到客户端的请求,并且正在处理中。服务器可以在处理请求的同时向客户端发送早期提示。如果服务器没有返回 103 状态码,则客户端可以继续发送请求。
-
-
2xx:成功响应
-
200:成功
- 故障排除:此状态码表示服务器已成功处理客户端的请求。客户端可以根据服务器返回的数据进行下一步操作。
-
201:已创建
- 故障排除:此状态码表示服务器已成功创建客户端请求的资源。客户端可以根据服务器返回的数据获取新创建资源的详细信息。
-
202:已接受
- 故障排除:此状态码表示服务器已接受客户端的请求,但尚未完成处理。客户端可以根据服务器返回的数据获取请求的处理状态。
-
203:非授权信息
- 故障排除:此状态码表示服务器已成功处理客户端的请求,但返回的数据不是完整的。客户端可以根据服务器返回的数据获取部分资源信息。
-
204:无内容
- 故障排除:此状态码表示服务器已成功处理客户端的请求,但没有返回任何数据。客户端可以根据服务器返回的状态码进行下一步操作。
-
205:重置内容
- 故障排除:此状态码表示服务器已成功处理客户端的请求,并重置了客户端的会话状态。客户端可以根据服务器返回的状态码重新发送请求。
-
206:部分内容
- 故障排除:此状态码表示服务器已成功处理客户端的请求,并返回了客户端请求的资源的一部分。客户端可以根据服务器返回的数据获取部分资源信息。
-
-
3xx:重定向
-
300:多重选择
- 故障排除:此状态码表示服务器有多个可以处理客户端请求的资源。客户端可以选择一个资源进行访问。
-
301:永久重定向
- 故障排除:此状态码表示服务器已永久重定向客户端请求的资源。客户端应该使用新的资源地址进行访问。
-
302:临时重定向
- 故障排除:此状态码表示服务器已临时重定向客户端请求的资源。客户端应该使用新的资源地址进行访问,但下一次请求时应该使用原来的资源地址。
-
303:查看其他位置
- 故障排除:此状态码表示服务器已将客户端请求的资源移动到了新的位置。客户端应该使用新的资源地址进行访问。
-
304:未修改
- 故障排除:此状态码表示客户端请求的资源自上次请求后没有发生变化。客户端可以继续使用缓存的资源。
-
305:使用代理
- 故障排除:此状态码表示服务器已将客户端请求的资源转移到一个代理服务器。客户端应该使用代理服务器进行访问。
-
307:临时重定向(WebDAV)
- 故障排除:此状态码表示服务器已临时重定向客户端请求的资源。客户端应该使用新的资源地址进行访问,但下一次请求时应该使用原来的资源地址。
-
-
4xx:客户端错误
-
400:错误的请求
- 故障排除:此状态码表示客户端请求的语法不正确。客户端应该修改请求后重新发送。
-
401:未授权
- 故障排除:此状态码表示客户端没有权限访问请求的资源。客户端应该提供正确的授权信息后重新发送请求。
-
403:禁止
- 故障排除:此状态码表示客户端没有权限访问请求的资源。客户端不能重新发送请求。
-
404:未找到
- 故障排除:此状态码表示服务器没有找到客户端请求的资源。客户端应该检查请求的资源地址是否正确。
-
405:方法不允许
- 故障排除:此状态码表示客户端使用的请求方法不被服务器支持。客户端应该使用其他支持的请求方法重新发送请求。
-
406:不可接受
- 故障排除
-