Response.Redirect和Server.Transfer的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Response.Redirect和Server.Transfer的区别相关的知识,希望对你有一定的参考价值。

Response.redirect 是当服务器碰到这条语句时发送一条指令(包含新的地址)给浏览器,然后让浏览器去发送http请求,请求那个新的地址,流程如下:
浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址(服务器返回的Response.Redirect后面的地址) PS: ASP.net里面用Response.Redirect跳转,php里面是Header("Location",$URL);这两种方式都是一样的原理,就是在输出的HTTP头里面加上一个Location字段,值为要跳转的目的地址,同时把返回的HTTP状态值设为302。

Server.Transfer 语句当接受地址后是直接转向后面的地址,流程如下:

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

Response.Redirect会丢失原页面的变量,Server.Transfer则不会。Response.Redirect会令浏览器的地址栏显示新的页面url,Server.Transfer则没有这种变化。

以上是关于Response.Redirect和Server.Transfer的区别的主要内容,如果未能解决你的问题,请参考以下文章

Server Transfer()和Response.Redirect()的使用

Server.Transfer 和 Response.Redirect 用法区别

Server.Transfer和Response.Redirect区别

Server的Transfer和Response的Redirect

Response.Redirect 无法跳转页面

Server 对象