您的位置:首页 > Web前端

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可以减少客户端对服务器的请求;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息