日期:2010-08-03  浏览次数:20860 次

  一般会使用response.redirect这条语句进行地址转向,ASP3.0以后提供了一种新的方法给我们,这种方法更加高效。让我们先来看看response.redirect和Server.Transfer分别是如何Run的!

  response.redirect其实上是当服务器碰到这条语句时发送一条指令(包含新的地址)给浏览器,然后让浏览器去发送http请求,请求response.redirect后面的那个新的http地址,流程如下:

  浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址(服务器返回的Response.Redirect后面的地址)这就是一个小小的Response.Redirect的全部过程,不看不知道,一看吓一条!它有这么多的过程,真恐怖... ...,而ASP3.0中的Server.Transfer语句当接受地址后是直接转向后面的地址,流程如下:

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

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

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