Цитата(Bogdan1024 @ 6.7.2008, 01:21 ) | А как ASP.NET узнаёт где я раньше был? Там в сессии хранится информация? Или браузер в заголовке что-то отправляет? |
Браузер через соответствующий Http-заголовок.
Цитата(Bogdan1024 @ 6.7.2008, 01:21 ) | А почему это будет работать не всегда? |
Браузеры позволяют отключать отсылку HttpReferer. Кроме того, можно отключать HttpReferer на прокси. Тогда у всех пользователей, использующих прокси, HttpReferer будет пустым. Думаю, этого достаточно для того, чтобы не использовать HttpReferer для навигации в серьезных проектах.
Цитата(Bogdan1024 @ 6.7.2008, 01:21 ) | Как я уже выяснил опытным путём, UrlReferrer не будет содержать ссылку на другой сайт если я пришёл с него. |
Не верю. Если пользователь попадает на страницу сайта, например, с гугла, то HttpReferer будет равен адресу страницы поиска гугла. Если же переходить через командную строку, то, конечно, HttpReferer будет пустым (даже если на этой вкладке в браузере открыта другая страница). P. S. Используя HttpReferer, определяют, откуда был совершен переход на страницу сайта. Так, например, счетчики предоставляют информацию о том, какой процент посещений происходит с того или иного поисковика. Еще подобным образом можно отслеживать, насколько эффективно работают ссылки, расположенные на других сайтах (как правило, за деньги). И т. д. и т. п. Это я к тому, что если бы дела обстояли так:
Цитата(Bogdan1024 @ 6.7.2008, 01:21 ) | UrlReferrer не будет содержать ссылку на другой сайт если я пришёл с него |
, то ни один из вышеописанных подходов не работал бы. |