为什么ServerVariables [“HTTP_REFERER”]会跳过页面?

时间:2010-04-07 14:36:06

标签: c# .net asp.net html http

以下是我的情况:

Page1.aspx重定向到Page2.aspx进行一些处理(不向用户显示),然后重定向到Page3.aspx,它检查ServerVariables [“HTTP_REFERER”]或Request.UrlReferrer。

据我所知,推荐信息有时可能是空白的,不能完全依赖;但是Page3.aspx上的ServerVariables [“HTTP_REFERER”]或Request.UrlReferrer显示的是Page1.aspx,而不是我预期的Page2.aspx。

如果页面显示给用户,是否仅设置引用信息?

使用Response.Redirect完成重定向,以便更改浏览器地址栏中的URL。

2 个答案:

答案 0 :(得分:5)

因为http重定向指示浏览器在新位置找到页面,所以浏览器假定它仍在处理page1.aspx上的原始请求,因此将其作为引用发送:)

值得记住的是,引用程序只是从浏览器发出,因此不能100%信任 - 例如,某些代理完全删除了它。

答案 1 :(得分:0)

我相信它的一部分取决于页面的重定向方式:Server.Transfer或Response.Redirect。

http://haacked.com/archive/2004/10/06/responseredirectverseservertransfer.aspx

相关问题