从HTTP状态码301、302到URL劫持

我们都知道HTTP状态码中3xx这系列的都表示重定向,今天这里想说的是301、302这两个状态码

301,表示资源永久性移除到别的地方;302,表示资源暂时性移除到别的地方

共同点是浏览器拿到服务器301或302的状态码之后,都会自动跳转到指定的URL

不同点是遇到301时搜索引擎会抓取新内容,并换上新URL;遇到302时,因为其暂时性,搜索引擎会抓取新内容,保留了原来的URL

当重定向使用的状态码是302暂时性移除时,搜索引擎认为这只是暂时性的,因此就执行的不是那么彻底,所以可能会发生URL劫持,从字面上理解,就是你的网站的URL被偷走了

它的原理是这样的,A网站为自己做了一个重定向,指向B网站,此时当用户输入A网站的URL时,页面将跳转到B网站,用户看到的是B网站的内容;但可能存在一种情况,A网站的URL比较受到搜索引擎的青睐;B网站的URL出于各种原因,不受搜索引擎待见,结果就是用户浏览的是B网站的内容,显示的却是A网站的域名,也就是B网站的URL被A网站劫持了。