zoukankan      html  css  js  c++  java
  • 关于重定向与转发

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

    我是从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请求。

    区别二:
      重定向路径会发生变化,转发不会。
    区别三:
      带的参数,重定向后失效,转发不会。
    积累知识,分享知识,学习知识。
  • 相关阅读:
    hdu 1568 Fibonacci
    hdu 1286 找新朋友
    mysql错误之2014
    mysql查看语句执行状态的常见函数
    mysql里制造一个错误
    css对html中表格单元格td文本过长的处理
    写js时常见错误
    DOM中的节点属性
    button的默认type居然是submit
    ubuntu手贱改了sudoers权限之后的恢复
  • 原文地址:https://www.cnblogs.com/bin-pureLife/p/3910195.html
Copyright © 2011-2022 走看看