Server.Transfer与Response.Redirect的不同
2004-12-26 13:23
357 查看
在MSDN看关于Session的文档时,发现示例代码中有个Server.Transfer。Server.Transfer与Response.Redirect有什么不同呢?去Google搜了一下,搜到一篇Blog:
Server的Transfer和Response的Redirect
关于Server.Transfer与Response.Redirect的不同之处,摘抄如下:
//
Transfer:
可靠编程
转移的目标页应是同一应用程序中的另一 Web 窗体页(.aspx 页)。不能使用 Server.Transfer 重定向到 .asp 或 .asmx 页。
确保目标页存在。
因为 Server.Transfer 是在服务器上执行的,所以浏览器没有页更改的记录。因此,如果用户刷新此页,则可能会产生意外的结果。
//
Redirect:
可靠编程
Redirect 方法是通过浏览器执行的,因此在服务器和浏览器之间产生额外的往返过程。
确保目标页存在。
安全性
由于该方法是通过客户端执行的,所以容易被欺骗和篡改。
//
Response是叫浏览器去重新转向到指定的网页,而Server自然是发生在服务器端为主了,因此会有以下区别:
1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则十分灵活;
2. Server.Transfer可以将页面参数方便传递到指定页面;
3. 使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果;
4. Server.Transfer可以减少客户端对服务器的请求;
Server的Transfer和Response的Redirect
关于Server.Transfer与Response.Redirect的不同之处,摘抄如下:
//
Transfer:
可靠编程
转移的目标页应是同一应用程序中的另一 Web 窗体页(.aspx 页)。不能使用 Server.Transfer 重定向到 .asp 或 .asmx 页。
确保目标页存在。
因为 Server.Transfer 是在服务器上执行的,所以浏览器没有页更改的记录。因此,如果用户刷新此页,则可能会产生意外的结果。
//
Redirect:
可靠编程
Redirect 方法是通过浏览器执行的,因此在服务器和浏览器之间产生额外的往返过程。
确保目标页存在。
安全性
由于该方法是通过客户端执行的,所以容易被欺骗和篡改。
//
Response是叫浏览器去重新转向到指定的网页,而Server自然是发生在服务器端为主了,因此会有以下区别:
1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则十分灵活;
2. Server.Transfer可以将页面参数方便传递到指定页面;
3. 使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果;
4. Server.Transfer可以减少客户端对服务器的请求;
相关文章推荐
- Response.Redirect和Server.Transfer的不同
- Response.Redirect和Server.Transfer相似和不同点
- 在使用 Response.End、Response.Redirect 或 Server.Transfer 时出现 ThreadAbortException
- 再谈Server.Transfer,Response.Redirect的区别
- Server.Transfer 和 Response .Redirect 的区别?
- asp.net中Response.Redirect与Server.Transfer的区别分析
- Server.Transfer 和Response.Redirect 比较
- Response.Redirect(): Server.Transfer Server.Execute
- Response.Redirect,Server.Execute和Server.Transfer的区别
- Asp.net中Server.Transfer,Server.Execute和Response.Redirect的区别
- response.redirect和Server.Transfer的区别详解
- Server.Transfer,Response.Redirect的区别
- Server.Transfer VS Response.Redirect
- Server.Transfer和Response.Redirect 区别收集
- (转)Response.Redirect和Server.Transfer比较
- C# asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别
- (转帖)Server.Transfer() 与Response.Redirect()、Server.Execute()的区别
- Response.Redirect和Server.Transfer的区别
- Response.Redirect和Server.Transfer的区别