菜鸟笔记
提升您的技术认知

HTTP状态码301

HTTP 状态码 301:永久重定向

HTTP 状态码 301 表示永久重定向(Moved Permanently),它告诉客户端(例如浏览器)当前请求的资源已经被永久移动到新的位置,并建议使用新的 URL 来访问资源。

301 重定向的工作流程

  • 客户端发起请求
    • 用户访问一个旧的 URL,例如 http://example.com/old-page。
  • 服务器响应 301
    • 服务器返回状态码 301,并在 Location 响应头中提供新 URL,例如 http://example.com/new-page。
  • 客户端自动跳转
    • 客户端(如浏览器)会自动跳转到新 URL,并请求 http://example.com/new-page。
  • 用户访问新页面
    • 用户最终会看到重定向后的新页面内容。

301 重定向的用途

  • 更改网站的 URL 结构:
    • 当网站更新了 URL 结构(例如从 example.com/page 改为 example.com/new-page),可以使用 301 重定向将旧 URL 指向新 URL。
  • 迁移域名:
    • 当网站更换域名(例如从 oldsite.com 迁移到 newsite.com),可以通过 301 重定向将所有旧域名的流量引导到新域名。
  • SEO 优化:
    • 301 重定向会将原页面的搜索引擎权重(PageRank)传递到新页面,避免因 URL 变更而丢失排名。
  • 修正错误的 URL:
    • 如果某些用户或爬虫访问了错误的 URL,可以通过 301 重定向将它们引导到正确的页面。

301 与其他重定向的区别

状态码 名称 特点
301 永久重定向 URL 永久更改,搜索引擎会更新索引并传递权重。
302 临时重定向 URL 临时更改,搜索引擎不会传递权重,依然索引旧地址。
307 临时重定向(HTTP 1.1) 与 302 类似,但更严格,必须使用原请求方法(如 GET 或 POST)。
308 永久重定向(HTTP 1.1) 类似 301,但要求客户端保留原请求方法(如 POST 不会变成 GET)。