ในสถานการณ์ต่อไปนี้ Request.ServerVariables("HTTP_REFERER") จะได้รับตามปกติจากแถบที่อยู่ของเบราว์เซอร์:
1. ใช้ <a href> โดยตรง
2. แบบฟอร์มที่ส่งด้วยการส่งหรือ <input type=image> (POST หรือ GET)
3. การใช้ Jscript เพื่อส่งแบบฟอร์ม (POST หรือ GET)
มาดูสถานการณ์ที่ Request.ServerVariables("HTTP_REFERER") ไม่สามารถใช้ค่าได้ตามปกติ:
1. ลิงก์จากรายการโปรด
2. คลิก 'บ้าน' หรือที่อยู่ที่กำหนดเอง
3. ใช้ location.href หรือ location.replace() ของ Jscript
4. ป้อนที่อยู่ลงในเบราว์เซอร์โดยตรง
5.<%การตอบสนองการเปลี่ยนเส้นทาง%>
6.<%Response.AddHeader%> หรือ <meta http-equiv=refresh> เปลี่ยนเส้นทาง
7. ใช้ XML เพื่อโหลดที่อยู่
แน่นอนว่า Request.ServerVariables("HTTP_REFERER") จะทำงานไม่ถูกต้องในกรณีส่วนใหญ่ ลองดูตัวอย่าง:
ref.asp
-
response.write "คุณมาจาก: " & request.servervariables("http_referer")
%>
ref.htm
-
Response.AddHeader "รีเฟรช", "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=' ไปที่นั่น (GET) >> '>
<ประเภทอินพุต=สไตล์รูปภาพ='เคอร์เซอร์:มือ'>
</แบบฟอร์ม><p>
ดูว่าโค้ดข้างต้นจะผลิตอะไร
<รูปแบบวิธีการ=การกระทำ POST=ref.asp ชื่อ=postform>
<input type=submit value=' ไปที่นั่น (POST) >> '>
<ประเภทอินพุต=สไตล์รูปภาพ='เคอร์เซอร์:มือ'>
</form><p>
<a href='ref.asp'>ลิงก์โดยตรง<p>
<a href='#' onclick='window.location.href="ref.asp";return false;'>javascript ตำแหน่ง</a>
<a href='#'onclick='window.location.replace("ref.asp");return false;'>แทนที่จาวาสคริปต์</a>
<a href='#' onclick='document .getform.submit();return false;'>javascript GET</a>
<a href='#' onclick='document.postform.submit();return false;'>javascript POST </a>