I was looking for a consistent way to know the url a user was coming from when loading a page. I thought I will be able to use Request.UrlReferrer. But it proved otherwise when I did some experiments.
The situations where it does work include the following methods of a browser loading a URL:
- clicking on a straight HTML @lt;a href> link;
- submitting a form, using POST or GET, from a submit button, or client-side script (form.submit())
The situations where it doesn't work:
- using Response.Redirect / Server.Transfer;
- clicking on a Favorite, History, or the recently-typed URLs list;
- clicking on 'Home' in IE's toolbar, or an item in IE's 'Links' toolbar;
- using location.href or location.replace() in client-side JScript/JavaScript/VBScript;
- typing the URL directly in the browser and hitting Enter or clicking 'Go';
- launching a clickable URL from an e-mail or MS Office document;
- using Response.AddHeader or <meta http-equiv=refresh> to redirect;
- loading the URL with XML
More: http://forums.asp.net/t/1097333.aspx/1 http://www.kruegerwebdesign.com/blog/request-urlreferrer-is-null-what-gives http://www.codeproject.com/Questions/104895/Is-there-any-alternative-for-UrlReferrer-and-HTTP_
No comments:
Post a Comment