HTTP 請求頭部 referer


原文地址:https://www.sojson.com/blog/58.html

HTTP 請求頭部 referer

概述

  referer 是  HTTP  請求頭部的一部分。當瀏覽器(或者模擬瀏覽器行為)向web 服務器發送請求的時候,頭信息里有包含  Referer 。Referer的的作用是指示一個請求是從哪里鏈接過來,那么當一個請求並不是由鏈接觸發產生的,那么自然也就不需要指定這個請求的鏈接來源,如:直接在瀏覽器的地址欄中輸入一個資源的URL地址,那么這種請求是不會包含 Referer  字段的,因為這是一個“憑空產生”的 HTTP  請求,並不是從一個地方鏈接過去的。服務器允許 Referer  為空,意味着服務器允許瀏覽器直接訪問。

注:

  referer 的正確英語拼法是 referrer 。由於早期HTTP規范的拼寫錯誤,為了保持向后兼容就將錯就錯了。其它網絡技術的規范企圖修正此問題,使用正確拼法,所以目前拼法不統一。還有它第一個字母是大寫。

一、Referer

1.防盜鏈

Referer=https://www.sojson.com

注:設置 Referer 限制訪問資源的域名,資源服務器每次取到 Referer 來判斷一下是不限定的域名:https://www.sojson.com。如果是就繼續訪問,不是就攔截。

2.防止惡意請求。

比如SOJSON網站上,靜態請求是*.html結尾的,動態請求是*.shtml,那么由此可以這么用,所有的*.shtml請求,必須 Referer  為限定網站。

Referer=https://www.sojson.com

3、Referer

服務器可以拒絕空referer的請求

4、頁面添加Referer元素需要使用meta referrer標簽

1、None:絕不允許referrer data通過
標簽寫法:<meta name="referrer" content="none">

2、None When Downgrade:發送referrer信息去安全的HTTPS站點,而非不穩定的HTTP站點。
標簽寫法:<meta name="referrer" content="none-when-downgrade">

3、Origin Only: 發送協議、主機和端口(即子域)沒有一個完整的URL作為來源,
即https://moz.com/example.html只會發送https://moz.com
標簽寫法:<meta name="referrer" content="origin">

4、Origin When Cross-Origin: 當傳origin-only來路信息發送給外部站點時,如果目標有相同的協議、主機和端口(即子域),無論它是HTTP或HTTPS,都將全部的URL作為Referrer發送出去。(注解:官方說明書上有一處排印錯誤,將來的版本應該是"origin-when-cross-origin")
標簽寫法:<meta name="referrer" content="origin-when-crossorigin">

5、Unsafe URL: 總是將URL字串作為一個referrer通過。
注意:如果你的URL中存在任何敏感信息,這不是最安全的選擇。其中URL的片段、用戶名、密碼被自動剝去。
標簽寫法:<meta name="referrer" content="unsafe-url">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM