区分Response.Redirect和Server.Transfer

在实现页面跳转的时候,很多人都喜欢,或者是习惯性的使用Response.Redirect,我也是。在我的页面静态化中,我就使用到了,昨天有 位兄弟告诉我,这样对搜索引擎很不友好;我不是做SEO的,对这个没研究;直观的想想也是,Response.Redirect 会返回给客户端状态302,爬虫可能认为这是一个欺骗跳转。那么有什么办法解决呢?

查过msdn,实现跳转的还有一个方法:Server.Transfer,那么二者有什么区别呢?

1、Response.Redirect

  • 浏览器ASPX文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址,并会返回一个302状态。
  • Response.Redirect可以切换到任何存在的网页
  • Response.Redirect后地址会变成跳转后的页面地址

2、Server.Transfer

  • 浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件->新数据传输到客户端,状态200
  • Server.Transfer只能切换到同目录或者子目录的网页
  • Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值,具有一定的隐蔽性
posted @   leeolevis  阅读(174)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示