Referer 爲何叫 Referer?它表明什麼意思?在諸多防盜鏈競爭中它有什麼優點?html
今天,在聊 Referer 防盜鏈以前,先來聊聊咱們在現實生活中經常碰到的推薦人(Referrer)信息。瀏覽器
咱們在購買服務或加入會員時,有些會問你:「你從哪裏知道了咱們?」安全
上面所說的就是所謂的推薦人(Referrer)信息。服務器
對於公司來講,這是頗有用的信息,企業根據這些信息,能夠分析瞭解到數據由來,以此來調整推廣渠道。工具
大部分用戶可能都不會直接訪問到某個陌生的網站,通常是經過關鍵字搜索再進去。那麼能夠去哪裏查找到相關信息,服務器也想知道你的「引薦人」是誰?因此 HTTP 協議在請求頭(Request-Header)裏設計了 Referer 字段,來給出 「引薦人」 的 URL 地址。測試
Referer 是一個可選請求頭,用於標識來源地址(URL) 來了解訪問從何而來。Referer 正確拼寫應該是「Referrer」,只是在寫入標準時,人們沒有發現缺乏一個 ‘r’ 字符,後面想改已經來不及。因此就將錯就錯,就一直沿用到今天。網站
Referer 頭因爲能夠指明來源地址,因此人們能夠根據這些數據進行分析。好比,對於營銷,市場,推廣人員來講,經過 Referer 字段,能瞭解訪問都是經過哪些搜索引擎「推薦人」引流而來,以此依據,對各大搜索引擎進行廣告投放。搜索引擎
瀏覽器在訪問資源時,會根據不一樣的場景,來帶上不一樣的 Referer 參數值來進行請求,因此咱們能夠根據信息對請求進行過濾判斷——Referer 防盜鏈, 設定對應規則,讓符合引用規則地址能夠訪問,不符合規則經過 403 進行權限控制。spa
在又拍雲,咱們能夠根據 Referer 黑白名單,是否容許 Referer 爲空等配置規則對訪問進行權限配置。命令行
若是隻想指定網頁內(*upyun.com)引用資源,其它域名拒絕盜鏈訪問。可設置 Referer 白名單而且不容許 Referer 爲空訪問方式(當 Referer 不能爲空時表示,拒絕瀏覽器直接指定 URL 資源,必須經過 Referer 頭引用進行訪問,否則也會被限制訪問),以免其餘域名進行資源盜鏈。
在此,咱們使用 HTTP 客戶端命令行工具 HTTPie[https://httpie.org/](工具支持語言高亮,能夠更加清晰代表訪問方式) 來進行測試。
當未指定 Referer 值, Referer 爲空時,沒法經過 Referer 訪問控制,訪問響應 403 拒絕訪問。
當指定 Referer :www.baidu.com 訪問時,沒有匹配到 *upyun.com 白名單設置,訪問響應 403 拒絕訪問。
當指定 Referer:www.upyun.com 訪問時,匹配經過 *upyun.com 白名單設置,訪問響應 200 ,資源訪問成功。
除了 Referer 防盜鏈,又拍雲還提供多種訪問控制功能,包括 IP 黑白名單,地區訪問限制,Referer 防盜鏈,User-Agent 防盜鏈,Token 防盜鏈等,方便用戶對訪問權限進行配置。若是您想了解更多,能夠查看《如何選擇適合本身網站的防盜鏈》這篇內容,瞭解更多相關知識。