码迷,mamicode.com
首页 > 其他好文 > 详细

关于重定向与转发

时间:2014-08-13 18:07:46      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   文件   ar   

其实这个问题一直比较模糊。今天有人讨论这个东西,比较浅显的比较了一番。

我是从http这个角度来看的。

  我用来测试的PHP代码

<?php
    $key = empty($_GET[key])?0:$_GET[key];
    echo $key;
    if($key == redirect){
        header("location:demo_1.php");
    }else{
         include(demo_1.php);
    //print_r(file_get_contents(‘demo_1.php‘));这也是可以的 }
?>

  我们的需求是通过redirect.php 访问demo_1.php的内容

  重定向:重定向是加入客户端发送请求A页面,A页面返回请求内容  头信息中 Status Code:302 Found 这个状态码告诉浏览器,页面发生了重定向,需再次像目标路径发起请求location:demo_1.php,然后第二次发起请求,服务器返回结果。以下是测试的头部信息

Request URL:http://www.stu.com/redirect.php?key=redirect
Request Method:GET
Status Code:302 Found
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Host:www.stu.com
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Query String Parametersview sourceview URL encoded
key:redirect
Response Headersview source
Connection:Keep-Alive
Content-Length:8
Content-Type:text/html
Date:Wed, 13 Aug 2014 06:22:44 GMT
Keep-Alive:timeout=5, max=100
location:demo_1.php
Server:Apache/2.4.4 (Win64) PHP/5.4.12
X-Powered-By:PHP/5.4.12

 以上是重定向流程。

 转发:转发我在PHP 中是用的

 include(‘demo_1.php‘);
print_r(file_get_contents(‘demo_1.php‘)
这俩个方法的源码我没了解,这个从http角度来说只发送了一次请求到redirect.php 然后在redirect.php 在引入了demo_1.php 这个文件(
include(‘demo_1.php‘)) 二另外一种获取了demo_1.php的内容再输出来了。所以这俩者都没发送http请求。

区别二:
  重定向路径会发生变化,转发不会。
区别三:
  带的参数,重定向后失效,转发不会。

关于重定向与转发,布布扣,bubuko.com

关于重定向与转发

标签:style   blog   http   color   os   io   文件   ar   

原文地址:http://www.cnblogs.com/bin-pureLife/p/3910195.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!