博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
response.redirect和server.Transfer的差别详解
阅读量:5244 次
发布时间:2019-06-14

本文共 966 字,大约阅读时间需要 3 分钟。

 

Response.Redirect和Server.Transfer都能实现页面的跳转,但两者又有很大区别。

一 地址栏里显示的地址不同

Response.Redirect会显示跳转的网页的地址,而Server.Transfer显示跳转前的网页的地址。

假如用上述两种方式实现WebForm1.aspx跳转到WebForm2.aspx

Response.Redirect跳转后地址栏会显示…/WebForm2.aspx

Server.Transfer    跳转后地址栏则显示…/WebForm1.aspx。

二 跳转的流程不同

当服务器碰到Response.Redirect语句时,会发送一条新URL的指令给浏览器,浏览器发送新URL的http请求,流程如下:

浏览器Http请求->服务器执行->遇到Response.Redirect语句->服务器发送新URL给客户端浏览器->浏览器请求执行新URL。

当服务器碰到Server.Transfer语句时,会直接转向新的URL,流程如下:

浏览器Http请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件。

三 跳转的URL范围不同

Response.Redirect可以定向到任何URL(包括站外的URL);而Server.Transfer只能跳转到站内的URL,而且只能是相对地址。

四 跳转的URL传递参数方式不同

前者跳转的URL可以包含参数;而Server.Transfer跳转的URL不能带参数,但可以根据条用参数决定是否保留Request集合里的内容。

如果要跳转Test.aspx?id=1000,只能用前者,不能用后者。

五 效率

Server.Transfer页面跳转的效率比Response.Redirect高;且由于在服务器上执行,可以兼容任何浏览器,但是只能在IIS服务器下运行。

六 对SEO的影响

页面中采用Response.Redirect跳转时,如果不返回301错误码,则有可能受SEO惩罚;而Server.Transfer不会受惩罚。

 

转自http://www.sowsoy.com/topics-360.html

转载于:https://www.cnblogs.com/0515offer/p/4171379.html

你可能感兴趣的文章
mvc知识应用
查看>>
数据结构之排序三:插入排序
查看>>
Class.forName(),classloader.loadclass用法详解
查看>>
vue route 跳转
查看>>
Device Tree Usage
查看>>
【雷电】源代码分析(二)-- 进入游戏攻击
查看>>
POJ 1220 高精度/进制转换
查看>>
cocos2d-x中CCLabelAtlas的小图片拼接
查看>>
【学习笔记】深入理解js原型和闭包系列学习笔记——精华
查看>>
深入理解js——prototype原型
查看>>
Entityframework:“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。...
查看>>
Ubuntu 安装之python开发
查看>>
恶心的struts标签,等我毕业设计弄完了,瞧我怎么收拾你。
查看>>
Linux中防火墙centos
查看>>
hudson+apachecontinuum+ant
查看>>
mysql新建用户,用户授权,删除用户,修改密码
查看>>
实验五 TCP传输及加密
查看>>
【iOS】build diff: /../Podfile.lock: No such file or directory
查看>>
【Android Studio】使用 Genymotion 调试出现错误 INSTALL_FAILED_CPU_ABI_INCOMPATI
查看>>
FancyCoverFlow
查看>>