4xx HTTP 状态码列表及说明
Internet 使用超文本传输协议或 HTTP 来发送和接收数据。 当 Web 服务器接收到来自 Web 浏览器的请求时,它会发送一个三位数的 HTTP 代码作为响应。 服务器收到的每个请求都会发生这种情况。 HTTP 响应中的每个代码表示不同的含义,在本文中,让我们探索 4xx 状态代码的完整列表及其含义。
HTTP 状态码的类型
在进入 4xx 状态码之前,最好先了解一下我们可以将 HTTP 响应码分为以下五类:
- 1xx 状态码,仅供参考
- 成功处理请求的 2xx 状态码
- 用于重定向的 3xx 状态代码,以通知请求的资源在服务器上的不同位置可用
- 客户端错误的 4xx 状态码主要来自浏览器,因为缺少访问请求网页的参数
- 服务器错误的 5xx 状态代码表示请求处理失败
HTTP 4xx 状态码
当从客户端收到的请求出错时,Web 服务器会在响应中发送 4xx HTTP 状态代码。 从故障排除的目的来看,您可以假设 4xx 代码表示服务器无法处理请求,因为浏览器发送了错误的请求并出现错误。 您需要检查浏览器并再次发送正确的请求以获得正确的响应。 例如,输入正确的用户名和密码以访问受密码保护的页面。 这是带有说明的 HTTP 4xx 状态代码的完整列表。 请记住,这些是状态代码(而不是错误代码),在某些情况下可能表示错误,而在大多数情况下只是提供信息。
4xx 状态码 | 描述 | 解释 |
---|---|---|
400 | 非法请求 | 由于语法不正确,Web 服务器无法满足请求。 因此,它会在响应中发送代码“400 – Bad Request”。 |
401 | 未经授权的请求 | 当用户尝试访问经过身份验证的资源时,您将在服务器响应中收到代码“401 – Unauthorized”。 它表示服务器尚未收到认证或收到不正确的认证。 简单的示例是用户尝试通过提供错误的用户 ID 或密码来访问经过身份验证的网页。 |
402 | 需要付款 | 此代码是在需要在线支付期间创建的,但目前未用于该目的。 一些服务器出于不同目的使用 402 代码,例如通知从特定 IP 地址收到的过多请求。 |
403 | 禁止访问资源 | 当服务器收到有效请求但拒绝响应时,会收到“403 – Forbidden”代码。 这与“401 – 未授权”不同,请求需要使用密码进行授权,但身份验证不会对 403 代码产生任何影响。 403 代码的一个示例是注册用户尝试访问受限页面。
|
404 | 未找到资源 | 当请求的资源在服务器中不再可用时,将显示“404 – 找不到页面”错误代码。 原因可能是站点所有者删除了该页面或更改了 URL 而没有设置 301 重定向。 请求的资源将来可能可用也可能不可用,因此允许对同一资源的进一步请求。
|
405 | 不允许的方法 | 如果资源不支持请求中提到的请求方法,则会收到“405 – Method Not Allowed”错误。 如果搜索引擎爬虫遇到此错误,则该 URL 将不会被编入索引。 |
406 | 不可接受的请求 | 当请求的资源存在但格式不同时,服务器会以代码“406 – Not Acceptable”响应。 不支持的原因可能是请求中提到的语言或编码方法。 |
407 | 防火墙,需要代理身份验证 | 客户端本身需要代理服务器身份验证,并收到代码“407 – 需要代理身份验证”。 |
408 | 请求超时 | 服务器应在指定时间内收到客户端的请求。 如果客户端在指定时间内没有发送完整的请求,则服务器会以超时错误“408 – Request Timeout”响应。 |
409 | 冲突 | 当服务器收到的请求与收到的另一个请求或服务器配置发生冲突时,将收到代码“409 – Conflict”。 |
410 | 资源不可用 | 当从服务器中永久删除请求的资源时,将收到代码“410 – Gone”。 404 和 410 的区别在于,404 码的页面仍然可以被多次请求,但 410 码的页面不应该被再次请求。 搜索引擎将从索引中删除具有 410 错误代码的页面,而爬虫将再次请求具有代码 404 的页面。 |
411 | 所需长度 | 当客户端发送请求时没有提及所需的内容长度,则服务器拒绝请求,原因代码为“411 – 长度要求”。 需要更正请求标头并将其传输到服务器以获得正确的响应。 |
412 | 前提条件失败 | 如果服务器在处理请求标头期间遇到先决条件差异,则返回 ode “412 – Precondition Failed”。 |
413 | 请求的实体太大 | 收到HTTP状态码413时,服务器因接收到的请求太长而无法处理而拒绝请求。 |
414 | 请求 URL 太长 | 当服务器因为请求的资源的URL太长而服务器无法处理而拒绝请求时,接收到HTTP状态码414。 |
415 | 不支持的媒体类型 | 当请求正文包含服务器不支持的媒体类型时,服务器会拒绝该请求并且代码“415 – Unsupported Media Type is received”。 例如,当用户尝试提交表单以及服务器不支持的附件时,上传将失败,服务器响应中将收到代码 415。 |
416 | 请求的范围不满足 | 当服务器不接受请求标头中的范围字段时,服务器会拒绝请求并发送代码“416 – Requested Range Not Satisfiable”。 |
417 | 预期失败 | 当请求头中的 Expect 字段与服务器的期望不匹配时,就会收到代码“417 – Expectation Failed”。 |
418 | 我是茶壶 | 这是作为愚人节玩笑创建的超文本咖啡壶控制协议的一部分。 它表示 Web 服务器拒绝煮咖啡,因为它是茶壶。 一些网络 服务器返回 418 当他们不想处理请求时。 |
422 | 无法处理的实体 | 当服务器无法处理接收到的请求中的一个或多个元素时,将接收到代码“422 – Unprocessable Entity”。 |
423 | 锁定 | 当请求的资源被另一个请求锁定时,服务器会拒绝该请求并在响应中发送代码“423 – Locked”。 |
424 | 失败的依赖 | 当服务器由于先前的请求失败而拒绝请求时,将收到代码“424 – Failed Dependency”。 |
426 | 需要升级 | 当服务器请求客户端不支持的连接升级时,将收到代码“426 – 需要升级”。 |
非标准 4xx 状态码
除了上面列出的 4xx 状态码,一些 Web 服务器还在 HTTP 响应中使用了一些其他非标准的 4xx 码。 部分示例如下:
- 420 – 增强你的冷静:当用户在短时间内发送太多请求时,Twitter 会在搜索中使用此代码。
- 444 – 无响应:当服务器没有返回任何响应并关闭客户端的连接时,您可以在 Nginx 服务器日志中看到此代码。
- 451 – 重定向:当服务器无法访问用户邮箱时,Microsoft 的 Exchange ActiveSync 使用此代码。
您可以下载免费的 HTTP 状态代码指南以了解服务器响应中可用的所有类型的代码。