HTTP referrer

维基百科,自由的百科全书
跳转到: 导航, 搜索
HTTP
持久 · 压缩 · 安全
头字段
ETag · Cookie · Referrer · Location
HTTP状态码
301 Moved permanently
302 Found
303 See Other
403 Forbidden
404 Not Found

HTTP參照位址 (referer,或 HTTP referer),是HTTP表頭的一個欄位,用來表示從哪兒連結到目前的網頁,採用的格式是URL。換句話說,藉著HTTP參照位址,目前的網頁可以檢查訪客從哪裡而來,這也常被用來對付偽造的跨網站請求。

dereferer 則是將HTTP參照位址資訊剝離,所以網站將無法識別訪客從何而來。

Referer的正确英语拼法是referrer。由于早期HTTP规范的拼写错误,为了保持向后兼容就将错就错了。其它网络技术的规范企图修正此问题,使用正确拼法,所以目前拼法不统一。

[编辑] 細節

當訪客訪問網頁時,HTTP參照位址 (refererreferring page) 是前一個網頁URL。如果是圖片的話,通常指的就是圖片所在的網頁。在网页浏览器送往網頁伺服器的時候,HTTP參照位址就被包含在HTTP請求方法中。

許多網站都會把參照位址紀錄起來以便追蹤使用者的動態,大部分的分析軟體都會處理這個資訊。但是參照位址資訊可能會有隐私权的問題,部份网页浏览器允許使用者不要送出這個資訊。有些代理服务器防火牆也會把參照位址資訊篩選掉,以避免讓外部知道非公開的網站位置。缺少了參照位址資訊有可能會造成某些問題:某些伺服器會因為缺少了正確的參照位址資訊而進行阻擋,以避免未經授權的圖片使用(盜圖)或是其他對伺服器有影響的行為。針對這樣的阻擋,有些代理服务器軟體則提供了針對特定網站送出假參照位址訊的功能的功能。

[编辑] 如何取得HTTP參照位址

ASP.NET(C#
  1. string strReferrer = Request.UrlReferrer.AbsolutePath.ToString();
  2. string strReferrer = Request.ServerVariables("http_referrer");
  3. string strReferrer = Request.UrlReferrer.ToString();
ASP
  1. strReferrer = Request.ServerVariables("HTTP_REFERRER").Item;
PHP
  1. $strReferrer = $_SERVER["HTTP_REFERER"];

[编辑] 參考與外部連結

  • RFC 2616: Hypertext Transfer Protocol – HTTP/1.1
  • IRI – Internationalized Resource Identifiers
个人工具
名字空间
操作
导航
帮助
工具
其他语言