HTTP 状态码

2023/09/12 Tools 共 3188 字,约 10 分钟

HTTP 状态码

HTTP 状态代码是服务器对客户端(通常是浏览器)请求的响应结果。状态代码可在服务器响应中找到。它们包括一个三位数字,通常有状态描述。它的规范及功能是由万维网联盟 (W3C) 定义的。

响应码大致有五个范围:

  • 1xx – 信息类
  • 2xx – 请求成功
  • 3xx – 跳转
  • 4xx – 客户端错误
  • 5xx – 服务器错误

1xx – 提供某种附加信息

1xx 状态码表示服务器已收到请求,处理将继续。

100 继续 – 现在一切正常,继续。

101 切换协议 – 有消息,例如升级请求、正在将事物更改为不同的协议。

102 处理 – 正在发生但尚未完成。

103 预提示 – 预加载资源,有助于改进核心网页指标的最大内容绘制指标。

2xx – 表明请求成功

2xx 状态码表示客户端请求已被接收、理解、和处理。

200 OK — 一切都好,一切都很成功。

201 已创建 — 与 200 类似,但衡量成功的标准是创建了新资源。

202 已接受 — 已接受处理请求,但尚未完成。它甚至可能还没有开始。

203 非授权信息 — 从服务器发送给你后发生了一些变化。

204 无内容 — 请求已发送,但正文中没有内容

205 重置内容 — 将文档重置为原始状态,例如,清除表单。

206 部分内容 — 只发送了部分内容。

207 多状态 — 有更多的响应代码,可能是 2xx、3xx、4xx 或 5xx。

208 已经报告 — 客户端告诉服务器之前提到的相同资源。

218 良好 — 非官方,Apache 使用。

226 IM 使用 — 这允许服务器向客户端发送资源的更改(差异)。

3xx – 主要与重定向相关

3xx 状态码表示客户端在请求成功之前还需要做一些事情。

300 多项选择 – 有不止一种可能的响应,可能必须选择其中之一。

301 永久跳转 – 旧资源现在重定向到新的资源上。

302 Found – 旧资源现在临时重定向到新资源。

302 临时跳转 – 旧资源现在临时重定向到新资源。

303 查看其他 – 这是另一个重定向,表明资源可能在其他地方找到。

304 无修改 – 表示页面没有被修改。通常用于缓存。

305 使用代理 – 请求的资源仅在你使用代理时可用。

306 切换代理 – 你的下一个请求应使用指定的代理。此代码不再使用。

307 临时重定向 – 具有与 302 重定向相同的功能,但你不能在 POST 和 GET 之间切换。

307 HSTS 机制 – 强制客户端在发出请求时使用 HTTPS 而不是 HTTP。

308 永久重定向 – 具有与 301 重定向相同的功能,但不能在 POST 和 GET 之间切换。

4xx – 客户端错误

4xx 状态码表示客户端有错误。该错误通常会在响应中显示。

400 请求错误 – 客户端请求有问题。它可能格式不正确、无效或太大、或现在服务器无法理解请求。

401 未授权 – 客户端在需要时没有识别或验证自己。

402 支付请求 – 这没有官方用途,它是为未来的某种数字支付系统保留的。一些商家出于自身原因使用此功能,例如 Shopify 在商店未支付费用时使用此功能,而 Stripe 将其用于潜在的欺诈性付款。

403 阻止访问 – 客户端已知但没有访问权限。

404 未找到 – 未找到请求的资源。

405 方法不被允许 – 不支持使用的请求方法,例如,表单需要使用 POST 但使用 GET 代替。

406 不被接受 – 客户端请求的接受头不能被服务器完成。

407 代理身份验证 – 需要通过代理进行身份验证。

408 请求超时 – 服务器已超时、或决定关闭连接。

409 冲突 – 请求与服务器状态冲突。

410 丢失 – 类似于未找到请求的 404,但这也表示它不会再次可用。

411 字段长度请求 – 请求没有包含内容长度字段。

412 前提条件失败 – 客户端对服务器的请求不满足设置条件。

413 超出限制 – 请求大小超出服务器的限制。

414 URI 过长 – 请求的 URI 超出服务器限制。

415 不支持该格式 – 服务器不支持请求的格式。

416 超出范围 – 客户端请求服务器无法提供的文件部分。例如,它请求文件实际结束位置之外的文件部分。

417 预期失败 – 服务器无法满足 “Expect” 请求标头中指示的预期。

418 I’m a Teapot – 当你尝试在茶壶中冲泡咖啡时发生。这始于 1998 年的愚人节玩笑,但实际上已标准化。如今,随着一切都变成智能设备,这可能会被使用。

419 页面过期 – 非官方,Laravel 框架使用。

420 方法失败 – 非官方,Spring Framework 使用。

420 Enhance Your Calm – 非官方, Twitter 使用。

421 被误导的请求 – 请求发送到的服务器无法响应。

422 实体无法处理 – 请求中存在语义错误。

423 锁定 – 请求的资源被锁定。

424 依赖失败 – 发生此故障是因为它需要另一个同样失败的请求。

425 过早请求 – 服务器此时不愿意处理请求,因为请求很可能稍后会再次出现。

426 需要升级 – 服务器拒绝请求,直到客户端使用更新的协议。 “升级” 标题中会指出需要升级的内容。

428 需要先决条件 – 服务器要求请求是有条件的。

429 请求过多 – 这是一种保护服务器的速率限制形式,因为客户端向服务器发送的请求太快了。

430 请求标头字段太大 – 非官方,Shopify 使用。

431 请求标头字段太大 – 服务器不会处理请求,因为标头字段太大。

440 登录超时 – 非官方,IIS 使用。

444 无响应 – 非官方,nginx 使用。

449 重试 – 非官方,IIS 使用。

450 被 Windows 家长控制阻止 – 非官方,Microsoft 使用。

451 因法律原因不可用 – 由于某种法律原因而被阻止。

451 重定向 – 非官方,IIS 使用。

460 – 非官方,AWS Elastic Load Balancer 使用。

463 – 非官方,AWS Elastic Load Balancer 使用。

494 请求标头太大 – 非官方,nginx 使用。

495 SSL 证书错误 – 非官方,nginx 使用。

496 需要 SSL 证书 – 非官方,nginx 使用。

497 HTTP 请求发送到 HTTPS 端口 – 非官方,nginx 使用。

498 非法 Token – 非官方,Esri 使用。

499 客户端关闭请求 – 非官方,nginx 使用。

499 需要 Token – 非官方,Esri 使用。

5xx — 服务器端的错误

5xx 状态码表示服务器有错误,它知道它不能执行请求。响应将包含错误原因。

500 内部服务器错误 – 服务器遇到某种问题、并且没有更好或更具体的错误代码。

501 无法实现 – 服务器不支持请求方法。

502 网关错误 – 服务器处于请求中间状态。但是它从它路由到的服务器收到了错误的响应。

503 暂停服务 – 服务器因维护而过载或停机,现在无法处理请求。它可能很快就会恢复。

504 网关超时 – 服务器处于请求中间状态。但是没有收到来自它路由到的服务器的及时响应。

505 HTTP 版本不支持 – 服务器不支持请求中的 HTTP 协议版本。

506 变体协商 – 当服务器有多个变体时,允许客户端获得资源的最佳变体。

507 存储空间不足 – 服务器无法存储完成请求所需存储的内容。

508 检测到环路 – 服务器在尝试处理请求时发现无限循环。

509 超出带宽限制 – 非官方,Apache 和 cPanel 使用。

510 未扩展 – 在服务器完成请求之前,需要对请求进行更多扩展。

511 需要网络身份验证 – 客户端需要在服务器允许访问之前,进行身份验证。

520 Web 服务器返回未知错误 – 非官方,Cloudflare 使用。

521 Web 服务器已关闭 – 非官方,Cloudflare 使用。

522 链接超时 – 非官方,Cloudflare 使用。

523 来源失效 – 非官方,Cloudflare 使用。

524 发生超时 – 非官方,Cloudflare 使用。

525 SSL链接失败 – 非官方,Cloudflare 使用。

526 SSL 证书无效 – 非官方,Cloudflare 使用。

527 Railgun 错误 – 非官方,Cloudflare 使用。

529 网站超载 – 非官方,Qualys 使用。

530 – 非官方,Cloudflare 使用。

530 站点被冻结 – 非官方,Pantheon 使用。

561 未授权 – 非官方,AWS Elastic Load Balancer 使用。

598(非正式)网络读取超时错误 – 非官方,某些 HTTP 代理使用。

文档信息

Search

    Table of Contents