http返回状态码

本文介绍了HTTP协议中常见的状态码,包括2xx成功、3xx重定向、4xx客户端错误和5xx服务器错误等类别,详细解析了每个状态码的含义及应用场景,帮助读者理解和诊断网络请求问题。

只是给自己查询使用滴

http返加状态代码的查询工具:查询网站状态码

1xx(临时响应):表示临时响应并需要请求者继续执行操作的状态代码。
100 (继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101 (切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx 成功
200 正常;请求已完成。
201 正常;紧接 POST 命令。
202 正常;已接受用于处理,但处理尚未完成。
203 正常;部分信息 — 返回的信息只是一部分。
204 正常;无响应 — 已接收请求,但不存在要回送的信息。

3xx 重定向
301 已移动 — 请求的数据具有新的位置且更改是永久的。
302 已找到 — 请求的数据临时具有不同 URI。
303 请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。
304 未修改 — 未按预期修改文档。
305 使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。
306 未使用 — 不再使用;保留此代码以便将来使用。

4xx 客户机中出现的错误
400 Bad request(错误请求)
401.1 Logon failed(登录失败)
401.2 Logon failed due to server configuration(由于服务器配置,登录失败)
401.3 Unauthorized due to ACL on resource(由于资源上的 ACL,未授权)
401.4 Authorization failed by filter(由于筛选器,授权失败)
401.5 Authorization failed by ISAPI/CGI application (由于 ISAPI/CGI 应用程序,授权失败)
403.1 Execute access forbidden(执行访问被禁止)
403.2 Read access forbidden(读取访问被禁止)
403.3 Write access forbidden(写入访问被禁止)
403.4 SSL required(要求 SSL )
403.5 SSL 128 required(要求 SSL 128)
403.6 IP address rejected (IP 地址被拒绝)
403.7 Client certificate required(要求客户证书)
403.8 Site access denied(站点访问被拒绝)
403.9 Too many users(用户太多)
403.10 Invalid configuration(无效的配置)
403.11 Password change(密码更改)
403.12 Mapper denied access(映射程序拒绝访问)
403.13 Client certificate revoked(客户证书被取消)
403.14 Directory listing denied(目录列表被拒绝)
403.15 Client Access Licenses exceeded(超出客户访问许可证)
403.16 Client certificate untrusted or invalid(客户证书不受信任或无效)
403.17 Client certificate has expired or is not yet valid(客户证书已过期或无效)
404 Not found(没有找到)
请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。出现这个错误的最有可能的原因是服务器端没有这个页面。
404.1 Site not found(站点没有找到)
405 Method not allowed(不允许使用该方法)
406 Not acceptable(不接受)
407 Proxy authentication required(要求代理身份验证)
412 Precondition Failed(前提条件不正确)
414 Request-URL too long(请求的 URL 太长)

5xx/6xx 服务器中出现的错误
这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个HEAD 请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。
这些状态码适用于任何响应方法。
500 Internal server error(内部服务器错误)
服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
500.12 Application restarting(应用程序重新启动)
500.13 Server too busy(服务器太忙)
500.15 Requests for Global.asa not allowed(不允许请求 Global.asa)
500-100.asp ASP 错误
500 Internal Server Error
服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
501 Not Implemented (没有实施)
服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。
502 Bad Gateway(错误网关)
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
503 Service Unavailable(服务不可用)
由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟时间。如果没有给出这个 Retry-After 信息,那么客户端应当以处理500响应的方式处理它。
注意:503状态码的存在并不意味着服务器在过载的时候必须使用它。某些服务器只不过是希望拒绝客户端的连接。
504 Gateway Timeout
作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。
注意:某些代理服务器在DNS查询超时时会返回400或者500错误
505 HTTP Version Not Supported
服务器不支持,或者拒绝支持在请求中使用的 HTTP 版本。这暗示着服务器不能或不愿使用与客户端相同的版本。响应中应当包含一个描述了为何版本不被支持以及服务器支持哪些协议的实体。
506 Variant Also Negotiates
由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。
507 Insufficient Storage
服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。WebDAV (RFC 4918)
509 Bandwidth Limit Exceeded
服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。
510 Not Extended
获取资源所需要的策略并没有被满足。(RFC 2774)
600 Unparseable Response Headers
源站没有返回响应头部,只返回实体内容
某操作处于挂起状态。
601 检测到一个无效端口句柄。

HTTP 状态码 0 并不是标准的 HTTP 协议中定义的状态码之一。在正常情况下,HTTP 响应状态码范围是从 100 到 599,并且每个状态码都有其特定的意义和用途[^2]。 当一个 AJAX 请求返回状态码 0 时,这通常表明请求没有成功到达服务器或者请求被浏览器拦截了。可能的原因包括但不限于以下几点: - **网络问题**:客户端与服务器之间的连接存在问题,例如断开的互联网连接。 - **跨域限制(CORS)**:如果请求的目标资源违反了同源策略,现代浏览器会阻止这类请求,导致 AJAX 调用失败并返回状态码 0。 - **本地文件访问**:如果你尝试从本地文件系统(file:// URL)发起 AJAX 请求,大多数浏览器出于安全考虑将不允许这种行为。 - **取消请求**:用户导航离开页面或显式地取消了 AJAX 请求也可能导致状态码 0 的出现。 - **表单提交冲突**:如引用 [3] 所述,在使用带有 `type="submit"` 属性的按钮触发 AJAX 请求时,可能会因为默认的表单提交机制而中断 AJAX 请求的执行流程。 处理这种情况的方法之一是确保你的 AJAX 请求正确配置,并且检查是否存在上述提到的问题点。比如确认网络状况良好、正确设置 CORS 头信息、避免不必要的表单提交等。 ```javascript // 示例:使用 jQuery 发起一次 AJAX GET 请求,并处理错误情况 $.ajax({ url: 'your-endpoint-url', type: 'GET', success: function(response) { // 处理成功的响应 }, error: function(xhr, textStatus, errorThrown) { if (xhr.status === 0) { console.log('可能是由于网络问题、跨域限制或是请求被取消'); } else { console.log(`其他类型的错误: ${textStatus}, 错误详情: ${errorThrown}`); } } }); ``` 对于开发人员而言,理解这些非标准状态码背后的原因同样重要,它们可以帮助快速识别和解决应用程序中的潜在问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值