zoukankan      html  css  js  c++  java
  • Response.Redirect和Server.Transfer(Execute)的区别小论集锦

     

    1、  浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址

    2、  浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件切换对象:

    Server.Transfer方法与Redirect方法相比另一个显著的优势是在页面转换时,Request集合里的内容不会丢失,这给我们编程带来很大的方便。

    一般的情况下尽可能用Server.Transfer方法(前提是服务器是IIS),Server.Transfer方法更快速,而且因为只在服务器上执行,所以可以和任何浏览器兼容。

     

    1Response.Redirect可以切换到任何存在的网页。

    1、  Server.Transfer只能切换到同目录或者子目录的网页。资料保密:

     

    1、  Response.Redirect后地址会变成跳转后的页面地址。

    2、  Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。具有资料保密功能。传递的资料量(网址后附带的参数):

     

    1、  Response.Redirect能够传递的资料以2KB为限。

    2、  传递的资料超过2KB时,务必使用Server.Transfer

     

    Response.Redirect方法导致浏览器链接到一个指定的URL。当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代码302(表示目标已经改变)以及新的目标URL。浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求。 这就是说,使用Response.Redirect方法时复位向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):第一次是对原始页面的请求,得到一个302应答,第二次是请求302应答中声明的新页面,得到复位向之后的页面。     
    Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为复位向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。默认情况下,Server.Transfer方法不会把窗体数据或查询字符串从一个页面传递到另一个页面,但只要把该方法的第二个参数设置成True,就可以保留第一个页面的窗体数据和查询字符串。 同时,使用Server.Transfer时应注意一点:目标页面将使用原始页面创建的应答流,这导致ASP.NET的机器验证检查(Machine   Authentication   CheckMAC)认为新页面的ViewState已被篡改。因此,如果要保留原始页面的窗体数据和查询字符串集合,必须把目标页面Page指令的EnableViewStateMac属性设置成False

     

    说到server. transfer,就不得不说server. execute,主要的区别在于,server. execute在第二个页面结束执行后,还会返回第一个页面继续处理。

    server.transferserver.execute也是有局限性的,他们只能redirect到同一个web application的页面中去,而且,这个过程对client端是透明的。

  • 相关阅读:
    hadoop本地测试命令
    hadoop中文官网
    solr 5.2.1 tomcat 7 配置过程笔记
    很好的hadoop学习博客实际操作训练(旧版本)
    Tomcat7安装配置 for Ubuntu
    Solr with Apache Tomcat
    Linux 权限修改
    Ubuntu Server 下配置静态网络的方法
    Ubuntu Server 下的网络配置
    HBase 1.3(NOSQL) 发布,性能大幅提升
  • 原文地址:https://www.cnblogs.com/freeliver54/p/1291551.html
Copyright © 2011-2022 走看看