• 我给女朋友讲编程网络系列(3)—网页重定向,301重定向,302重定向


       虽然以前只在淘宝买东西,不过现在对其他电商也不排斥了,就比如京东吧,今天就以京东为例。

     

           你在浏览器中输入“360buy.com”,看看发生了什么?

     

           另外输入“jingdong.com”,再看看发生了什么?看看网址变了没有?

     

           见证奇迹,请看下图:

     

      不管你输入哪个网址,都会转到这个网址。

     

           这其实叫“重定向”,那么怎么实现网站重定向呢?

     

           任意新建一个网页,如a.html,名字随便叫,只要后缀是.html就行了。输入下面的html代码:

    <html>
    <head>
    <meta http-equiv="Refresh" content="5;url=http://www.jd.com" />
    </head>
    <body >
    等5秒,我就要找强哥了。
    </body>
    </html>

     

           保存后,在浏览器中打开这个网页,等5秒,你会看到这个网页转到了京东首页。

           起作用的就是下面这行代码:

    <meta http-equiv="Refresh" content="5;url=http://www.jd.com" />

     

      <meta> 标签必须位于文档的头部,它提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。

           http-equiv="Refresh"是meta标签的一对属性 键/值对,它告诉了浏览器根据content的内容来“自动刷新”网页并指向新的网址,"5;url=http://www.jd.com"中的5就是是时间间隔,单位是秒,也就是过5秒后刷新,url=http://www.jd.com的意思是跳转到新的网址http://www.jd.com

          

           这样就可以从某一个网页或网站跳转到另一个网页或网站了。它的专业术语叫“重定向”,等会给你讲点更专业的内容。

           是不是很简单啊,不过,这种方式过时了。这是2000年以前经常使用的方法。

     

           “重定向”指的就是通过某种技术手段,把你请求的某个网页或网站,跳转到另外一个网页或网站,比如你输入”jingdong.com”,它跳转到了”jd.com”。

           重定向的方式有:301重定向、302重定向与meta fresh。上面讲的就是meta fresh方式。

     

      下面讲讲301重定向和302重定向:

     

    1,

           301代表永久性转移(Permanently Moved),301重定向主要是将需要转移的网址重定向另一个新的网址上,并且是永久性转移,比如你输入了”jingdong.com”,它总会跳转到”jd.com”,一般网站更换了域名或者有多个域名,都是使用这种方式跳转,这种方式几乎不影响网站在百度中的排名,因此是最友好的重定向方式。

     

    2,

           302代表暂时性转移(Temporarily Moved ),这个内容我搜了很多文章,比如什么时候使用302重定向,结果没有令我满意的。后来查看自己的IIS重定向的设置时发现了

    307重定向,看来内容真是多啊。下面谈谈我的看法,看出来错误的请帮我指正。

     

           我觉得302重定向是这样使用的,比如我有个域名A,对应的网站程序是Web1,由于某种原因域名A无法访问了,比如域名到期了还没交费,被管理员停了,但是你的网站主机还有费,还可以登录,而且你还有另外一个闲置的域名B,这个时候把B域名绑定到网站Web1上,但是对网站Web1设置302重定向,重定向到域名A,这样,站长发表的新文章,虽然是通过B域名来访问,但是搜索引擎仍然把域名A当做网站Web1的作者,这样,在A不能访问的期间,仍然可以通过域名B来增加域名A在搜索引擎中的权重,这对临时性的维护域名A就比较重要。

     

    不知道我的理解对不对,希望了解的朋友帮忙解释一下。

     

    不过302重定向使用的情况非常少,可以说,基本都是使用301重定向。下面是摘抄的两段解释:

     

    1,什么时候需要做302重定向呢?

    当一个网页经历过短期的URL的变化时使用。比如A域名因为某种原因暂时不能够访问,站长通过B域名来实现网站的暂时访问,这时做好302重定向,就能够被搜索引擎蜘蛛正确地处理,搜索引擎会依然会抓取新的内容而保存旧的网址。这样就不会影响原来网站域名在搜索引擎的权重及排名。

     

    当然,在我们日常建站中,302重定向使用概率非常小,远不及301重定向用得多,至少小虫是这样认为的。这里只是让大伙做个了解。有的站长说302重定向会导致排名下降,小虫认为是没有正确做好的原因。望大家一起学习,共同进步。

     

    2,HTTP 的重定向(301,302,303,307) 

    301 永久重定向,告诉客户端以后应从新地址访问.

    302 作为HTTP1.0的标准,以前叫做Moved Temporarily ,现在叫Found. 现在使用只是为了兼容性的处理,包括PHP的默认Location重定向用的也是302.

    但是HTTP 1.1 有303 和307作为详细的补充,其实是对302的细化

    303:对于POST请求,它表示请求已经被处理,客户端可以接着使用GET方法去请求Location里的URI。

    307:对于POST请求,表示请求还没有被处理,客户端应该向Location里的URI重新发起POST请求。

     

    下面重点讲一下,如何通过IIS8来配置网站的重定向。

     

    一,配置网站WebTest2

    1,  将你的网站或网页放到一个文件夹中,比如WebTest2中。

    如何没有网站,可以在WebTest2中新建一个index.html文件,然后把下面的内容复制粘贴进去保存:

    <html>
    <head>
    </head>
    <body >
    WebTest2欢迎您。
    </body>
    </html>

    2,打开IIS8,也可以看下图操作,在Default web site上右击,选择添加应用程序,选择物理路径,确定就行了。

    二、使用同样的方法配置网站WebTest2

    不过把网页index.html中的内容修改一下:

    把【WebTest2欢迎您。】修改为【WebTest1欢迎您。】

     

    三、配置WebTest2重定向到WebTest1

    1,打开重定向设置框:

    (1)    单击WebTest2

    (2)    单击功能视图

    (3)    双击HTTP重定向

    2,配置网站WebTest2的重定向

    直接按照下图操作。

    说明:

    (1)    本机一般都是使用localhost表示。下面是百度百科的解释:

    localhost(意为“本地主机”,指“这台计算机”)是给回路网络接口(loopback)的一个标准主机名,相对应的IP地址为127.0.0.1

    (2)    上面我举得例子,从jingdong.com重定向到jd.com,这是域名的重定向,我这里做的是网站的重定向,不知道这个例子是不是合适,不过如何设置301重定向确实就是这么做的。

    (3)    图上这4步操作完成后,单击最右上角的“应用”。相当于保存。

     

    四、见证奇迹

    1,分别在网站WebTest1和WebTest2上右击,选择【管理应用程序】,选择【浏览】,然后会发现网页上总是显示【WebTest1欢迎您。】

    这就说明设置重定向成功了,因为你打开WebTest2,它重定向到了WebTest1。

     

    不过,我测试的时候,只有一次成功了,后面测试了好几次,浏览器都给我直接转到hao123了,不知道是不是浏览器的原因。

  • 相关阅读:
    201703-1 分蛋糕
    201812-2 小明放学
    201812-1 小明上学
    逆向_Easy_vb
    逆向_入门逆向
    代码审计_弱类型整数大小比较绕过
    代码审计_数组返回NULL绕过
    代码审计_md5()函数
    代码审计_urldecode二次编码绕过
    代码审计_extract变量覆盖
  • 原文地址:https://www.cnblogs.com/workest/p/3891321.html
Copyright © 2020-2023  润新知