2010-04-07 40 views
1

这里是我的情况:为什么ServerVariables [“HTTP_REFERER”]跳过页面?

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

我明白,引用信息有时可能是空白的,不能完全依赖;然而,Page3.aspx上的ServerVariables [“HTTP_REFERER”]或Request.UrlReferrer显示的是Page1.aspx,而不是Page2.aspx,这是我的预期。

只有当页面显示给用户时,引用信息才被设置?

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

回答

5

因为HTTP重定向指示浏览器找到一个新的地方的页面,这样浏览器就假定它仍然在处理上page1.aspx这个原始请求,因此将通过作为引荐:)

值得注意的是,引用者只是通过浏览器发送出去的,因此不能100%信任 - 例如,一些代理完全删除它。

+0

疑难杂症 - 这是有道理的! – Aaron 2010-04-07 14:48:36

相关问题