1)Server.Transfer在服务器端完成,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以客户端浏览器中的URL地址是不会改变的,这个过程中浏览器和Web 服务器之间经过了一次交互;Response.Redirect是客户端完成,是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以客户端浏览器中的URL地址是会改变的.这个过程中浏览器和Web 服务器之间经过了两次交互。
(2)Server.Transfer在服务器端完成,不需要客户端提出请求,减少了客户端对服务器端提出请求。
(3)Server.Transfer只能够转跳到本地虚拟目录指定的页面,也就是工程项目中的页面,而Response.Redirect则十分灵活,可以跳转到任何URL地址。
(4)Server.Transfer可以将前一个页面的各种类型的值传到新的页面;Response.Redirect则只能借助URL中带参数或是结合QueryString、Session、Cookie、Application等把各种类型的值传到新的页面。
本文详细解析了Server.Transfer和Response.Redirect两种页面跳转方式的区别,包括它们的工作原理、使用场景及各自的优缺点。Server.Transfer在服务器端完成,不改变浏览器URL,减少请求次数;而Response.Redirect由客户端完成,URL地址改变,可跳转至任意URL。

1662

被折叠的 条评论
为什么被折叠?



