301表示资源永久迁移,浏览器和搜索引擎会更新为新地址并传递SEO权重;302表示临时转移,原地址仍有效,不传递权重也不缓存重定向;两者语义不同,误用可能导致SEO错误。

301 和 302 都是 HTTP 重定向状态码,表示请求的资源已被转移到新的位置,但它们的语义和用途有重要区别。
301 Moved Permanently(永久重定向)
服务器返回 301 状态码时,表示请求的资源已经永久移动到了一个新的 URL。浏览器和搜索引擎会将原来的地址更新为新地址。
- 搜索引擎会把原页面的权重(如 SEO 排名)传递给新地址
- 浏览器可能会缓存这个重定向,后续请求直接跳转到新地址,不再访问旧地址
- 适用于网站改版、域名更换等长期变更场景
302 Found(临时重定向)
302 表示资源只是临时移动到了另一个位置,原始地址仍然有效。客户端下次还应继续使用原 URL 发起请求。
- 搜索引擎不会转移权重,仍索引原始页面
- 浏览器不会缓存重定向,每次请求都会走服务器判断
- 常用于 A/B 测试、临时维护页面跳转等短期操作
主要区别总结
意图不同:301 是永久迁移,302 是临时转移缓存行为:301 通常被浏览器缓存,302 每次都回源验证
SEO 影响:301 会传递 SEO 权重,302 不会
使用建议:如果确定不再使用原地址,用 301;如果只是暂时跳转,用 302
基本上就这些,别在该用 302 的时候误用了 301,否则可能导致搜索引擎错误地放弃原页面。










