HTTP

状态码

301与302

301 与 302 状态码功能相同,都表示重定向。什么是重定向,这里就不过多的解释了。

那么什么时候需要设置重定向呢?

  • 域名更换,用户访问 old.com 会自动重定向到 new.com

  • 对于客户端预埋的url链接,免不了老版本失效与更改,所以可以将老地址配置302,跳转到新的地址

重定向的过程:

  • 请求老地址,服务器响应状态码 301 或者 302

  • 并且响应头中包含 Location: http://newaddress

  • 浏览器发现状态码为 301/302,找到 Location 中的地址,进行跳转

301与302的区别?

  • 301 代表永久性转移( Permanently Moved),301代表旧地址的资源已经被永久移除了(不可再次访问)

  • 302 代表暂时性转移( Temporarily Moved),302代表旧地址的资源仍然存在(还可以再次访问)

301的应用场景?

  • 域名更换

  • 资源地址重定向

302的应用场景?

  • 尽量使用301,而不要使用302

  • 302可以对其他网址进行域名劫持

什么是域名劫持?

  • 为了给自己的网站带来访问量,你将你自己的项目的多个网址,分别使用302跳到多个网站上

  • 当用户访问你的网址时,实际是访问别人的网站资源,这样你的网站的点击量就蹭蹭蹭的往上涨,有可能搜索引擎排名要超过真实的网址

  • 这就是域名劫持

为什么使用301?

  • 因为301会告诉搜索引擎,之前的地址是无效的,这样你的网站是不会被计算点击量的

注意:301 不能防止域名劫持的问题

附录

参考:

最后更新于