设为首页 收藏本站
查看: 2496|回复: 0

[经验分享] HTTP返回状态码中301和302的区别

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-8 09:23:42 | 显示全部楼层 |阅读模式
官方说法
1
2
3
4
5
6
7
8
9
10
11
List of HTTP status codes
301 Moved Permanently
#This and all future requests should be directed to the given URI.[23]
302 Found
#This is an example of industry practice contradicting the standard. The HTTP/1.0
specification (RFC 1945) required the client to perform a temporary redirect (the
original describing phrase was "Moved Temporarily"),[24] but popular browsers
implemented 302 with the functionality of a 303 See Other. Therefore, HTTP/1.1
added status codes 303 and 307 to distinguish between the two behaviours.[25]
However, some Web applications and frameworks use the 302 status code as if
it were the 303.



简单地说:
301和302都是web服务器响应HTTP协议请求状态的数字代码
  • 301 代表永久性转移(Permanently Moved)
  • 302 代表暂时性转移(Temporarily Moved)



两者之间的差别
1)对于用户
301和302没有区别,都是浏览器里面的URL跳转变成了一个新的URL地址
2)对于搜索引擎
存在网址劫持问题
1470418533822900.jpg

302重定向和网址劫持(URL hijacking)有什么关系呢?这要从搜索引擎如何处理302转向说起。从定义来说,从网址A做一个302重定向到网址B时,主机服务器的隐含意思是网址A随时有可能改主意,重新显示本身的内容或转向其他的地方。大部分的搜索引擎在大部分情况下,当收到302重定向时,一般只要去抓取目标网址就可以了,也就是说网址B。
实际上如果搜索引擎在遇到302转向时,百分之百的都抓取目标网址B的话,就不用担心网址URL劫持了。问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。为什么呢?比如说,有的时候A网址很短,但是它做了一个302重定向到B网址,而B网址是一个很长的乱七八糟的URL网址,甚至还有可能包含一些问号之类的参数。很自然的,A网址更加用户友好,而B网址既难看,又不用户友好。这时Google很有可能会仍然显示网址A。
由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。也就是说,一个不道德的人在他自己的网址A做一个302重定向到你的网址B,出于某种原因, Google搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B上的内容,这种情况就叫做网址URL劫持。你辛辛苦苦所写的内容就这样被别人偷走了。

Nginx下配置301 302
1)利用server的rewrite功能对网址地址重写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vim www.conf
server {
        listen       80;
        server_name  lichengbing.com;
        location / {
       #rewrite ^/(.*) http://www.lichengbing.cn/$1 permanent;#301 永久跳转
        rewrite ^/(.*) http://www.lichengbing.cn/$1 redirect;#302 临时跳转
        }
    }
    server {
        listen       80;
        server_name  www.lichengbing.com;
        location / {
        root    html/www;
        index index.html  index.htm;
        }
        access_log  logs/access_www.log  main;
    }



2)我们利用curl命令来模拟访问,获取http状态码

1
2
3
4
5
6
7
8
[iyunv@db02 ~]# curl -I  http://lichengbing.com
HTTP/1.1 302 Moved Temporarily #302状态码
Server: nginx/1.6.3
Date: Fri, 05 Aug 2016 17:11:43 GMT
Content-Type: text/html
Content-Length: 160
Connection: keep-alive
Location: http://www.lichengbing.cn/ #跳转地址



网站监控302问题
平时我们用脚本监控web服务器喜欢监控状态码,200、301、302表示正常,但是也有特殊情况,比如:
1
2
3
4
[iyunv@db02 ~]# curl -I -s -o /dev/null -w "%{http_code}\n" http://lichengbingg.com
302 #lichengbingg.com不存在(302 FOUND)
[iyunv@db02 ~]# curl -I -s -o /dev/null -w "%{http_code}\n" http://taobao.com
302 #taobao.com 存在 (302 Moved)



所以,要么监控web服务器端口,要么就删掉302

1
2
3
4
5
#if [ "`nc -w 5 $url $Port &&echo ok`" = "ok" ];then
#if [ "`echo -e '\n'|telnet $url $Port|grep Connected|wc -l`" = "1" ];then
#if [ "`nmap $url -p $Port|grep open|wc -l`" = "1" ];then
#if [ "`curl -I http://$url 2>/dev/null|head -1|egrep "200|301"|wc -l`" = "1" ];then
#if [ "`curl -I -s -o /dev/null -w '%{http_code}\n' http://$url`" = "200" ];then



Zabbix监控更省心。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-254760-1-1.html 上篇帖子: rsync: failed to connect to 下篇帖子: 删除Chrome新标签页中8个缩略图
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表