关于Response.Redirect和Server.Execute的区别

时间:2023-03-09 03:50:40
关于Response.Redirect和Server.Execute的区别

Server.Transfer("path")内部重定向请求,是服务器内部的接管,浏览器无法意识到这个接管的发生,浏览器地址栏也不会发生变化。而Response.Redirect("")这是经历了一个通知浏览器重定向,浏览器found之后,向服务器发请求重新访问新的url地址并返回给客户端的过程,这是一次http 302请求。

内部接管,再被重定向到页面中时可以访问到Request,Cookies等,这些来源页面接收的参数的,就像这些参数是传递给他的。而Response.Redirect则不行,因为是让浏览器去访问的,并且可以定向到外部网站。Server.Transfer(“”)不能重定向到外部网站。