php进行http重定向

2019-06-26 18:46栏目:技术创新
TAG:

什么是HTTP重定向?

当您拜访www.yegle.net时,地址栏的位置会自动变成yegle.net。当你拜访ye.gl的时候,地址栏的地址会产生yegle.net。那便是HTTP重定向

一个HTTP诉求,返回的HTTP Response Header里,第一行是HTTP的状态码。正常情形下,HTTP需要再次来到的状态码是200 OK。
正常的HTTP请求,返回200 OK:

其余的可比著名的还或者有诸如:

404 Not Found
301 Moved Permanently
302 Found
500 Internal Server Error

HTTP重定向就是通过301和302两种情况码来完成的。

302是有的时候重定向的意味。表示被访问页面因为各个急需被权且跳转到其余页面。具体的事例是访问

浏览器在抽取302 Found的状态码之后会在回去的HTTP Response Header中搜索Location字段,然后访问对应地址。在那一个例子中,浏览器就可以访问 (嗯那是一个递归,你懂的…)

301是永世重定向。那样的例证很好找。举例

如出一辙,浏览器在意识301的状态码之后会招来Location字段,然后访问特别地点。

Location字段的格式很自由,既可以够是相对地址,也足以是相对地址,还足以是对峙根目录的地方。以下Location字段皆以法定的:

Location:
       Location: /test/index.php
       Location: index.php
       Location: ../index.php

301重定向和302重定向在SEO以及缓存上是有不行大分其他。

对此SEO相当于搜索引擎优化,一个页面302重定向到另八个页面,新页面包车型地铁PageRank不会受原页面影响。而二个页面301重定向到另叁个页面,原页面的PageRank会被传送到新页面。所以对于三个网址开始展览域名转变,最佳的艺术便是利用301重定向,在通过一段时间之后能够不损失P奇骏地将全站转移到新域名下。

对此HTTP代理服务器举例squid来讲,倘使二个页面是302重定向到新页面并且未有钦点Expire HTTP头,squid将不缓存这么些音信,相当于说每一遍用户通过代办伏乞时都会再也取得贰次。而对此301重定向,squid能够将结果缓存以便火速响应下一个诉求同样页面包车型大巴用户。

PHP里的302重定向非常轻便,只要在回到的HTTP Response Header里增添Location字段,PHP将活动回到302状态码。举个例子:

< ?php header("Location: http://yegle.net/recursion.php"); ?>

这段代码将电动重定向到

而301重定向则某个有一点点复杂,需求一贯将301意况码用header函数再次来到给用户。比如:

< ?php      header( "HTTP/1.1 301 Moved Permanently" );

     header( "Location: http://yegle.net/" );

 ?>

瞩指标是,跳转不是在收到response header的时候即刻开始展览,相当于说页面包车型大巴盈余内容会被下载来之后浏览器才会跳转。新手常犯的三个错误


版权声明:本文由新浦京娱乐站_新浦京娱乐场官网_新浦京娱乐发布于技术创新,转载请注明出处:php进行http重定向