HTTP 状态码:完整列表

HTTP 状态码:完整列表

Patrick Stox
Patrick Stox 是 Ahrefs 的产品顾问,技术 SEO 和品牌大使。他是罗利(美国城市)SEO 聚会、SEO 大会、啤酒和 SEO 聚会和 Finadability 大会的组织者之一,同时也是 /r/TechSEO 的版主。
HTTP 状态代码是服务器对客户端(通常是浏览器)请求的响应结果。状态代码可在服务器响应中找到。它们包括一个三位数字,通常有状态描述。它的规范及功能是由万维网联盟 (W3C) 定义的。

状态码是你的客户端和服务器相互通信的状态。你可以使用 Ahrefs SEO Toolbar(SEO工具栏)单击三位的数字免费查看任何页面的 HTTP 状态代码。

你还可以单击并展开它以查看完整的头部响应,这有助于解决许多技术问题。

响应码大致有五个范围:

继续阅读以了解状态代码的含义以及 Google 是如何处理它们。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Google 如何处理 2xx

大多数 2xxs 将允许对页面进行索引。但是,204 将被视为软 404,不会被索引。

软 404 也可能是服务器说它成功 (200) 的 URL,但页面的内容说它不存在。代码应该是 404,但服务器表示一切都很好。这可能发生在内容很少或没有内容的页面上。

你可以在 Google Search Console 的覆盖率报告中找到这些软 404 错误。

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

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

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

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

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

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

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

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

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

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

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

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

Google 如何处理 3xx

301 和 302 是规范化信号。它们传递 PageRank 并帮助确定哪个 URL 显示在 Google 的索引中。 301 向前合并到新 URL,302 向后合并到旧 URL。如果 302 保留足够长的时间,或者如果它重定向到的 URL 已经存在,则 302 可能会被视为 301 并改为永久跳转。

302 也可用于将用户重定向到特定国家/语言的主页,但同样的逻辑不应该用于更深的页面。

Google 对 303 的处理方式未定义。根据它们的功能,它们可能被视为 301 或 302。

307 有两种不同的情况。在临时重定向的情况下,它将被视为与 302 相同,并尝试向后合并。当网络服务器要求客户端仅使用 HTTPS 连接(HSTS 策略)时,Google 不会看到 307,因为它已缓存在浏览器中。初始访问(没有缓存)将有一个可能是 301 或 302 的服务器响应代码。但是你的浏览器会为你后续的请求显示 307 。

308 与 301 被同等对待并向前合并。

Google 将在重定向链中跟踪最多 10 个跃点。它通常在一个会话中跟随五个跃点,并在下一个会话中从中断的地方继续。在此之后,信号可能不会合并到重定向的页面。

你可以在 Ahrefs Site Audit(网站诊断)或我们免费的 Ahrefs Webmaster Tools(Ahrefs 站长工具)中找到这些重定向链。

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 代理使用。

Google 如何处理 5xx

5xx 错误会减慢爬行速度。最终,这些页面将从 Google 的索引中删除。你可以在 在Ahrefs Site Audit(网站诊断)或我们免费的 Ahrefs Webmaster Tools(Ahrefs 站长工具)中找到这些,但它们可能与 Google 看到的 5xx 不同。由于这些是服务器错误,它们可能并不会一直存在的。

译者,Park Cheng,歪猫出海创始人。