1.response.redirect()跳转到新的页面后,地址栏的URL会发生改变,而server.transfer()跳转后URL不发生改变。原因 是:redirect()发送两次HTTP请求,第一次响应的结果是状态码302(302表示需要重定向,配合响应报文中的 location使用),第二次请求才会得到相应的页面。这种URL重定向是由客户端产生的,在地址栏中可以看到变 化。transfer()发送一次请求,URL重定向是发生在服务器端的,有服务器内部进行URL接管,客户端察觉不到这 种变化。
2.transfer()跳转后,在新的页面可以获取原来页面的变量值,transfer()的第二个参数设置为false时就不能获取到q uerystring和form。redirect()跳转后就获取不到之前页面的变量值,除非是以参数的方式传递到新的页面。
3.transfer()只能在同一服务器中跳转页面,而不能跨服务器,对于跨服务器只能用redirect(),比如:从自己的网 站跳转到百度就只能用redirect。