为了账号安全,请及时绑定邮箱和手机立即绑定

服务器.Transfer VS.答复.重定向

服务器.Transfer VS.答复.重定向

肥皂起泡泡 2019-07-12 18:30:09
服务器.Transfer VS.答复.重定向有什么区别Server.Transfer和Response.Redirect?每种方法的优点和缺点是什么?什么时候比较合适?什么时候不合适?
查看完整描述

3 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

Response.Redirect只需发送一条信息(Http 302)下到浏览器。

Server.Transfer在浏览器不知情的情况下发生,浏览器请求一个页面,但服务器返回另一个页面的内容。


查看完整回答
反对 回复 2019-07-12
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

Response.Redirect()将发送到新页面,更新地址栏并将其添加到浏览器历史记录中。在浏览器上,您可以单击“上一步”。

Server.Transfer()不更改地址栏。你不能反击。

我用Server.Transfer()当我不想让用户看到我要去的地方时。有时在“加载”类型页上。

否则我总是用Response.Redirect().


查看完整回答
反对 回复 2019-07-12
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

短:Response.Redirect简单地告诉浏览器访问另一个页面。Server.Transfer帮助减少服务器请求,保持URL不变,并通过一些bug攻击,允许您传输查询字符串和表单变量。

一些我发现并同意的东西(来源):

Server.Transfer类似于将用户发送到另一个具有语句的页面,如Server.Transfer("WebForm2.aspx")..然而,该声明有一些明显的优点和缺点。

首先,使用Server.Transfer节省服务器资源。它没有告诉浏览器重定向,而是简单地更改Web服务器上的“焦点”并传输请求。这意味着您不会收到太多的HTTP请求,从而减轻了Web服务器的压力,使您的应用程序运行得更快。

但是要小心:因为“传输”过程只能在服务器上运行的站点上工作,所以不能使用Server.Transfer若要将用户发送到外部站点,请执行以下操作。只Response.Redirect可以做到的。

第二,Server.Transfer在浏览器中维护原始URL。这确实有助于简化数据输入技术,尽管在调试时可能会造成混乱。

这并不是全部:Server.Transfer方法还具有第二个参数-“保存表单”。如果你把这个设置为True,使用如下语句Server.Transfer("WebForm2.aspx", True),现有查询字符串和任何表单变量仍可用于要传输到的页。

例如,如果您的WebForm1.aspx有一个名为TextBox 1的TextBox控件,并且将其参数设置为True,则转移到WebForm2.aspx,则可以通过引用来检索原始页面TextBox控件的值。Request.Form("TextBox1").


查看完整回答
反对 回复 2019-07-12
  • 3 回答
  • 0 关注
  • 277 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信