Response.Redirect和Server.Transfer都能实现页面的跳转,但两者又有很大区别。

一 地址栏里显示的地址不同

Response.Redirect会显示跳转的网页的地址,而Server.Transfer显示跳转前的网页的地址。
假如用上述两种方式实现WebForm1.aspx跳转到WebForm2.aspx

Response.Redirect跳转后地址栏会显示…/WebForm2.aspx

Server.Transfer    跳转后地址栏则显示…/WebForm1.aspx。

二 跳转的流程不同

当服务器碰到Response.Redirect语句时,会发送一条新URL的指令给浏览器,浏览器发送新URL的http请求,流程如下:

浏览器Http请求->服务器执行->遇到Response.Redirect语句->服务器发送新URL给客户端浏览器->浏览器请求执行新URL。

当服务器碰到Server.Transfer语句时,会直接转向新的URL,流程如下:

浏览器Http请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件。

三 跳转的URL范围不同

Response.Redirect可以定向到任何URL(包括站外的URL);而Server.Transfer只能跳转到站内的URL,而且只能是相对地址。

四 跳转的URL传递参数方式不同

前者跳转的URL可以包含参数;而Server.Transfer跳转的URL不能带参数,但可以根据条用参数决定是否保留Request集合里的内容。

如果要跳转Test.aspx?id=1000,只能用前者,不能用后者。

五 效率

Server.Transfer页面跳转的效率比Response.Redirect高;且由于在服务器上执行,可以兼容任何浏览器,但是只能在IIS服务器下运行。

六 对SEO的影响

页面中采用Response.Redirect跳转时,如果不返回301错误码,则有可能受SEO惩罚;而Server.Transfer不会受SEO惩罚。

转自http://www.sowsoy.com/topics-360.html

response.redirect和server.Transfer的差别详解的更多相关文章

  1. Response.Redirect与Server.Transfer区别-转

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

  2. Response.Redirect和Server.Transfer

    今天又比较闲,逛了逛园子,看看asp.net的内容,看到一篇关于这两个的比较: http://www.cnblogs.com/yunfeng8967/archive/2008/03/06/109323 ...

  3. Response.End ,Response.Redirect、Server.Transfer 引发 “正在中止线程”异常的问题

    google后得知:Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件,同时抛出ThreadAbortExcepti ...

  4. Detail in Response.redirect and Server.transfer in ASP.NET

    http://www.developerfusion.com/article/4643/implementing-http-handlers-in-aspnet/4/

  5. CentOS6.5下VNC Server远程桌面配置详解

    参考文献: (总结)CentOS Linux下VNC Server远程桌面配置详解 远程桌面连接工具VNC——license Key 我的下载地址为 太平洋下载 VNC连接黑屏的问题 centos 6 ...

  6. SQL Server 执行计划操作符详解(3)——计算标量(Compute Scalar)

    接上文:SQL Server 执行计划操作符详解(2)--串联(Concatenation ) 前言: 前面两篇文章介绍了关于串联(Concatenation)和断言(Assert)操作符,本文介绍第 ...

  7. SQL Server 执行计划操作符详解(2)——串联(Concatenation )

    本文接上文:SQL Server 执行计划操作符详解(1)--断言(Assert) 前言: 根据计划,本文开始讲述另外一个操作符串联(Concatenation),读者可以根据这个词(中英文均可)先幻 ...

  8. 引用 Windows Server 2003 FTP服务器配置详解

    引用 昆神之星 的 Windows Server 2003 FTP服务器配置详解 1.FTP文件传输协议,主要用于计算机之间文件传输,是互联网上仅次于www的第二大服务.本文主要演示如何在Window ...

  9. Response.Redirect()、Server.Execute和Server.Transfer的区别

    1.Response.Redirect(): Response.Redirect方法导致浏览器链接到一个指定的URL. 当Response.Redirect()方法被调用时,它会创建一个应答,应答头中 ...

随机推荐

  1. 从hello-world 开始 <contiki学习之四>

    按照contiki 官方给出的example下的例子之hello world来说,所有的工程里面都有一个唯一的Makefile.然后这个Makefile会去调用其他makefile文件.于是,一切就从 ...

  2. UVa673 Parentheses Balance

    // UVa673 Parentheses Balance // 题意:输入一个包含()和[]的括号序列,判断是否合法. // 具体递归定义如下:1.空串合法:2.如果A和B都合法,则AB合法:3.如 ...

  3. java连接数据库的解决方法大全(mysql)

    解决方法一:(最重要的一种方法) 你看下my.ini,有无  [mysql] default-character-set=utf8 [client]  default-character-set=ut ...

  4. html 前台通用表单

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Covarience And ContraVariance

    using System; using System.Collections.Generic; using System.IO; namespace CovarientAndContraVarient ...

  6. Linux - 打印文件夹全部文件 代码(C)

    列出文件夹全部文件 代码(C) 本文地址:http://blog.csdn.net/caroline_wendy 首先配置环境,參考:http://blog.csdn.net/caroline_wen ...

  7. SOA面向服务化编程架构(dubbo)

      dubbo 是阿里系的技术.并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦 ,只闻其声,不能见其物.而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身 集成了监控中心,注 ...

  8. visualsvn server 报错 can't read file "current":End of file out

    需要删除文件:Repositories\ProjectName\db\revprops\X 需要修改文件:repository/db/txn_current.repository/db/current ...

  9. Swift学习笔记(一)搭配环境以及代码执行成功

    1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.可以开发ios,mac相关的app哦!是苹果以后大力推广的语言哦! 2.Swift给你带来什么机会 ...

  10. LINUX 内核2

    http://blog.csdn.net/acs713/article/category/1363650