响应码大致有五个范围:
- 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 使用 — 这允许服务器向客户端发送资源的更改(差异)。
Google 如何处理 2xx
大多数 2xxs 将允许对页面进行索引。但是,204 将被视为软 404,不会被索引。
软 404 也可能是服务器说它成功 (200) 的 URL,但页面的内容说它不存在。代码应该是 404,但服务器表示一切都很好。这可能发生在内容很少或没有内容的页面上。
你可以在 Google Search Console 的覆盖率报告中找到这些软 404 错误。
3xx – 主要与重定向相关,很少有例外
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 个跃点。它通常在一个会话中跟随五个跃点,并在下一个会话中从中断的地方继续。在此之后,信号可能不会合并到重定向的页面。
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 因法律原因不可用 – 由于某种法律原因而被阻止。由于隐私或许可,你有时会在国家级屏蔽中看到它,例如,屏蔽新闻或视频。你可能会在 DMCA 删除时看到它。代码本身是对小说 Fahrenheit 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 使用。
Google 如何处理 4xx
4xx 将导致页面从索引中删除。
404 和 410 有类似的处理。两者都从索引中删除页面,但 410 稍快一些。在实际应用中,它们大致相同。
针对 421 ,Google 会选择不使用 HTTP/2 进行抓取。
429 有点特殊,因为它们通常被视为服务器错误,会导致 Google 降低抓取速度。但最终,谷歌也会从索引中删除这些页面。
你可以在 Ahrefs Site Audit(网站诊断)中找到网站的 4xx 错误。
你可能要检查的另一件事是这些 404 页面是否有指向它们的链接。如果有链接指向这些 404 页面,那么你可能会因此丢失获取权重的机会。你只需要将这些页面 301 重定向到相关页面就可以。以下是如何找到这些机会:
将你的域名复制到 Site Explorer(网站分析)(可以在 AWT 中免费使用)
进入 Best by links(按反链数量排序)报告
HTTP 响应过滤器中选择 “404 not found”
我通常按 Referring domains(引用域)对它进行排序。
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 代理使用。
Google 如何处理 5xx
5xx 错误会减慢爬行速度。最终,这些页面将从 Google 的索引中删除。