Nas seguintes situações, Request.ServerVariables("HTTP_REFERER") é obtido normalmente na barra de endereços do navegador:
1. Use <a href> diretamente
2. Formulário enviado com Submit ou <input type=image> (POST ou GET)
3. Usando Jscript para enviar um formulário (POST ou GET)
, vamos dar uma olhada na situação em que Request.ServerVariables("HTTP_REFERER") não pode assumir o valor normalmente:
1. Link dos Favoritos
2. Clique em 'Home' ou em um endereço personalizado
3. Use location.href ou location.replace() do Jscript
4. Digite o endereço diretamente no navegador
5.<%Resposta.Redirect%>
6. Redirecionamento <%Response.AddHeader%> ou <meta http-equiv=refresh>
7. Use XML para carregar o endereço
Obviamente, Request.ServerVariables("HTTP_REFERER") não funcionará corretamente na maioria dos casos.
ref.asp
<%
response.write "Você veio de:" & request.servervariables("http_referer")
%>
ref.htm
<%
Response.AddHeader "Atualizar", "10;URL=ref.asp"
%>
<meta http-equiv='refresh' content='10;URL=ref.asp'>
<form method=GET action=ref.asp name=getform>
<input type=submit value='Vá lá (GET) >> '>
<input type=estilo de imagem='cursor:mão'>
</form><p>
Veja o que o código acima irá produzir.
<método de formulário=ação POST=ref.asp nome=postform>
<input type=submit value=' Vai lá (POST) >> '>
<input type=estilo de imagem='cursor:mão'>
</form><p>
<a href='ref.asp'>Link direto<p>
<a href='#' onclick='window.location.href="ref.asp";return false;'>javascript location</a>
<a href='#'onclick='window.location.replace("ref.asp");return false;'>javascript replace</a>
<a href='#' onclick='document .getform.submit();return false;'>javascript GET</a>
<a href='#' onclick='document.postform.submit();return false;'>javascript POST </a>