本页使用了标题或全文手工转换

HTTP參照位址

维基百科,自由的百科全书
(重定向自HTTP参照位址
跳转至: 导航搜索
中国大陸 HTTP来源地址
港臺 HTTP參照位址

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

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

拼写问题[编辑]

Referer的正确英语拼法是referrer。由于早期HTTP规范的拼写错误,为保持向下兼容就将错就错了。其他网络技术的规范曾试图修正此问题[來源請求],使用正确拼法,导致目前拼法并不统一。

概念与功能[编辑]

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

許多網站會将參照位址记录以便追蹤使用者的動態或进行统计,大部分分析軟體也都會處理這個資訊。但因參照位址資訊可能會带来隐私权問題,不少网页浏览器允許使用者设置不要送出這個資訊,有些代理服务器防火牆也會将參照位址資訊过滤掉,以避免外部获知非公開的网络地址。缺少參照位址資訊有可能會造成某些使用問題:某些伺服器會因為缺少正確的參照位址資訊而進行阻擋,以避免未經授權的圖片引用(图像防盗链)或是其他對伺服器有影響的行為。針對這樣的阻擋,有些軟體还提供了針對特定網站送出假来源位址的功能(反防盗链)。

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

ASP.NET(C#
string strReferrer = Request.UrlReferrer.AbsolutePath.ToString();
string strReferrer = Request.ServerVariables("http_referrer");
string strReferrer = Request.UrlReferrer.ToString();
ASP
strReferrer = Request.ServerVariables("HTTP_REFERER").Item;
PHP
$strReferrer = $_SERVER["HTTP_REFERER"];
JAVA
strReferrer = request.getHeader("referer");
GOLANG
strReferrer=http.Request.Referer()

參考與外部連結[编辑]

  • RFC 2616: Hypertext Transfer Protocol – HTTP/1.1
  • IRI – Internationalized Resource Identifiers