首页 / SEO book / 网站架构与迁移 / HTTP 状态码详解:完整列表及对 SEO 的影响

HTTP 状态码详解:完整列表及对 SEO 的影响

HTTP 状态码详解:完整列表及对 SEO 的影响网站架构与迁移

了解什么是 HTTP 状态码、不同状态码的含义,以及它们如何影响搜索可见度。

什么是 HTTP 状态码?

HTTP 状态码是服务器为响应客户端(例如浏览器)请求而生成的三位数字。它们表明请求是否成功完成。

例如,404 错误就是你可能见过的一种常见 HTTP 状态码。

某 URL 返回 404 错误页面。

如果你是网站所有者,HTTP 状态码能为你提供重要信息,帮助你改善网站的功能和用户体验。而且,它们还会影响你的 SEO。

HTTP 状态码的类别

HTTP 状态码分为五类:

  • 1XX(信息类状态码):服务器已收到请求,正在处理中
  • 2XX(成功类状态码):服务器成功接收并处理了请求
  • 3XX(重定向类状态码):服务器已收到请求,但存在指向另一目的地的重定向(常见的有 301 或 302)
  • 4XX(客户端错误类状态码):由于客户端错误,请求的资源无法找到或访问
  • 5XX(服务器错误类状态码):服务器在处理请求时遇到了错误

HTTP 状态码完整列表

状态码

含义

1XX:信息类响应

100:继续

服务器已收到初始请求,并已准备好接收客户端发送其余部分(如果尚未发送)

101:切换协议

服务器同意接受客户端切换到其他协议的请求

102:处理中

服务器已收到请求,但尚未完成处理。该状态码已被弃用。

103:早期提示

在响应仍在处理时,服务器发送关于预期最终响应的提示

2XX:成功类状态码

200:成功

请求成功。具体响应取决于请求方法(GET、PUT 等)。

201:已创建

请求成功,因此创建了一个新资源

202:已接受

请求已被接受,但尚未被处理

203:非权威信息

返回的数据来自第三方,而非原始服务器

204:无内容

请求成功,但没有内容

205:重置内容

请求成功,用户代理(例如浏览器)应重置文档

206:部分内容

服务器只发送所请求资源的一部分

207:多状态

在一个响应中提供多个操作的状态

208:已报告

告知客户端某资源的信息已在响应中较早的位置包含,不会重复

226:已使用 IM(HTTP 增量编码)

服务器成功处理了请求,并返回了一个只包含更改内容(而非完整资源)的资源版本

3XX:重定向类状态码

300:多种选择

表示存在多个可能的响应,用户或客户端需要从中选择一个

301:永久移动

该资源已永久移动到新的网址。服务器会提供新的 URL。

302:已找到

该资源已临时移动到不同的网址,但它可能再次移动。

303:参见其他

服务器告知客户端使用标准 GET 请求从另一位置获取该资源

304:未修改

响应没有变化,因此客户端可以继续使用缓存版本

305:使用代理

表示客户端应使用代理来访问该资源。该状态码已被弃用。

307:临时重定向

该资源已临时移动,客户端应使用与之前请求相同的 HTTP 方法(例如 POST)

308:永久重定向

该资源已永久移动,客户端必须使用与之前请求相同的 HTTP 方法

4XX:客户端错误类状态码

400:错误请求

由于客户端错误,服务器无法处理该请求

401:未授权

客户端没有访问该资源所需的正确凭据

402:需要付款

最初用于表示所请求的资源需要付费,但它很少被使用,也没有标准用途

403:禁止访问

即使服务器知道客户端的身份,客户端也无权访问该资源

404:未找到

服务器找不到该资源。通常是因为浏览器请求了错误的 URL,或该内容已不存在。

405:方法不允许

指定的资源不允许使用该请求方法(例如 GET)

406:不可接受

服务器无法以客户端指定的任何格式提供响应

407:需要代理身份验证

在处理请求之前,代理服务器需要对客户端进行身份验证

408:请求超时

由于客户端未能足够快地完成请求,服务器放弃了等待

409:冲突

该请求与服务器上已有的内容冲突(例如两人同时编辑同一内容)

410:已删除

所请求的资源已被永久删除,且没有转发地址。

411:需要长度

服务器没有接受该请求,因为它没有指明要发送多少数据

412:前置条件失败

请求中设置的条件未满足,因此服务器未处理该请求

413:内容过大

客户端发送的数据量太大,服务器无法处理

414:URI 过长

所请求的网址太长,服务器无法处理

415:不支持的媒体类型

服务器不支持该请求所用的格式

416:范围无法满足

所请求的资源部分不在服务器可提供的范围之内

417:预期失败

服务器无法满足请求中指定的某项要求

421:请求被错误定向

请求被发送到了错误的服务器——那台服务器并未设置为处理它

422:无法处理的内容

服务器理解请求格式,但由于实际数据存在问题(例如取值错误)而无法处理它

423:已锁定

所请求的资源已锁定,无法访问

424:依赖失败

由于相关请求也失败了,该请求随之失败

425:过早

由于请求过早、可能会被重放,服务器未处理该请求

426:需要升级

除非客户端切换到更新或不同的协议(如 HTTPS),否则服务器不会处理该请求

428:需要前置条件

服务器要求请求包含某些条件,以确保更新安全

429:请求过多

用户在短时间内发送了过多请求

431:请求头字段过大

请求头包含的信息太多,服务器无法处理

451:因法律原因不可用

所请求的资源因法律原因被封锁

5XX:服务器错误类状态码

500:内部服务器错误

服务器遇到了错误,无法完成该请求

501:未实现

服务器不支持该请求方法

502:错误网关

网关服务器从另一台服务器收到了无效响应或没有收到响应

503:服务不可用

服务器暂时不可用——通常是因为正在进行维护或负载过高

504:网关超时

网关服务器未能及时从另一台服务器获得响应

505:不支持 HTTP 版本

服务器不支持该请求所使用的 HTTP 版本

506:变体也参与协商

由于配置错误,服务器在尝试在不同版本的资源之间做选择时陷入了循环

507:存储空间不足

服务器没有足够的空间来保存或处理该请求

508:检测到循环

服务器在尝试处理请求时检测到无限循环

510:未扩展

该请求缺少服务器处理所需的扩展

511:需要网络身份验证

客户端需要进行身份验证才能获得网络访问权限

如何检查网页的 HTTP 状态码

你可以使用 Google Chrome 轻松检查页面的 HTTP 状态码。

前往你想检查的网页。

在页面任意位置右键单击并选择“检查”,打开开发者工具。或按“Ctrl + Shift + I”(Windows/Linux)或“Cmd + Option + I”(Mac)。

在右键菜单中“Inspect”已高亮显示。

在开发者工具面板中点击“网络”标签。

刷新页面(按“F5”或“Ctrl + R”)。

查看网络请求列表。

“状态”列会显示该页面的 HTTP 状态码列表。列表中的第一个就是该页面的 HTML 文档。

工具中高亮 HTTP 状态码列。

审计你的网站以查找 HTTP 状态码错误也是个好主意。你可以在 Semrush 的网站审计工具中轻松完成。

只需运行一次抓取,然后点击“已抓取页面”。

“状态”列会显示每个页面的状态码,让你看出是否有需要修复的错误。

已抓取页面列表中高亮 HTTP 状态码列。

常见 HTTP 状态码对 SEO 的影响

以下是一些最常见状态码对你的 SEO 意味着什么:

200(成功)

200 响应码是你希望大多数网页返回的状态码。

它表明网页正常运作,并且人和搜索引擎都能访问。

301(永久移动)

301 状态码意味着你把某个页面永久迁移到了新的 URL,并向 Google 发出信号:其索引中的旧 URL 应被新的 URL 替换。

重要的是,301 重定向还会把链接权益从旧页面转移到新页面,从而保住你的可见度。

两个网页链接到同一页面。这些链接将链接权重传递给该页面及其 301 重定向后的页面。

302(已找到/临时重定向)

302 重定向是一种临时重定向。当网页暂时不可用时,它可以保住链接和排名。

例如,当你在进行网站维护、想把用户引导到一个临时的过渡页面时,或当你在进行 A/B 测试时。

如果 302 重定向长期存在,Google 可能会开始把它当作 301 重定向来处理,这意味着旧 URL 会在 Google 的索引中被新 URL 替换。

404(未找到)和 410(已删除)

404 和 410 状态码都告诉搜索引擎某个页面已不存在,这通常会导致它被从索引中移除。

虽然两者最终都会导致取消索引,但 410 更清楚地表明该页面是永久移除的,这可以加快它从搜索引擎索引中被移除的速度。

5XX(服务器错误)

搜索引擎在访问带有 5XX 错误的页面时会有困难,这可能导致抓取、索引和用户体验方面的问题。

久而久之,这会负面地影响搜索结果中的可见度。因此,及时监测并解决 5XX 错误很重要。

HTTP 状态码对 LLM 的影响

确保你的内容能被基于大语言模型(LLM)构建的工具(如 Google 的 AI 概览、ChatGPT、Perplexity 和 Claude)访问,这一点很重要。因为这有助于你在那些 AI 回答中获得更多曝光度。

表示错误的状态码——如 404 和 500——可能会阻止 LLM 看到你的内容,因为 LLM 寻找和理解网站内容的方式与传统搜索引擎类似。

Web 开发者和 AI 工程师 Vincent Schmalbach 指出:

“经常出现 HTTP 状态码错误的网站,可能会发现其内容在搜索结果和 AI 生成的回答中都表现不足,因为这两类系统都需要可靠的访问,才能有效地索引和利用内容。”

在专门谈到 4XX 和 5XX 状态码时,Vincent 还补充道:

“404 和 410 响应都意味着没有可用的内容,因此这些页面不会为训练数据做出贡献。像 500 这样的服务器错误会导致爬虫稍后重试,但如果错误持续存在,内容就会被完全跳过。”

数据分析咨询公司 Synthelize 的创始人兼首席数据顾问 Toby Basalla 警告说,如果一次性抓取一个存在无意重定向状态码的网站,可能会使用于训练实际模型的数据发生偏差,因为在如此海量的数据中,这些错误很难被发现。

他回想起一次值得注意的经历:当时他在运行一个依赖抓取数据集的定制训练 LLM:

“在一个案例中,某客户有 180 个落地页被错误标记为临时重定向,结果它们没有一个进入我们的抓取数据集。这实际上意味着,对模型来说,这些页面根本不存在。”

检查你的网站是否存在 HTTP 状态码错误

你应该定期检查你网站的 HTTP 状态码,以便及时掌握任何错误。

Semrush 的网站审计工具能让你轻松找出这些问题,从而迅速解决问题并提升你的 SEO 表现。