設置防盜鏈時候指明和不指明空Referer的差異及實現後的效果?瀏覽器
這裏的 Referer 指的是HTTP頭部的一個字段,也稱爲HTTP來源地址(HTTP Referer)。用來表示從哪兒連接到眼下的網頁。採用的格式是URL。網絡
換句話說,藉着 HTTP Referer 頭部網頁可以檢查訪客從哪裏而來。這也常被用來對付僞造的跨站點請求。spa
Referer的正確英語拼法是referrer。由於早期HTTP規範的拼寫錯誤,爲了保持向後兼容就將錯就錯了。其餘網絡技術的規範企圖修正此問題。使用正確拼法,因此眼下拼法不統一。server
比方,您假設點擊如下資料來源後面維基百科的網址連接。那麼瀏覽器會產生一個送到維基百科的Webserver的HTTP請求,該請求中則會包括一個Referer字段(即本頁面的地址):http://kb.qiniu.com/52pw6cdeip
資料來源:http://zh.wikipedia.org/wiki/HTTP參照位址資源
首先,咱們對空Referer的定義爲。Referer 頭部的內容爲空,或者,一個HTTP請求中根本不包括Referer頭部。get
那麼何時HTTP請求會不包括Referer字段呢?依據Referer的定義,它的做用是指示一個請求是從哪裏連接過來,那麼當一個請求並不是由連接觸發產生的。那麼天然也就不需要指定這個請求的連接來源。io
比方,直接在瀏覽器的地址欄中輸入一個資源的URL地址。那麼這樣的請求是不會包括Referer字段的,因爲這是一個「憑空產生」的HTTP請求,並不是從一個地方連接過去的。class
在防盜鏈的白名單設置中,假設指名白名單中包括空的Referer,那麼經過瀏覽器地址欄直接訪問該資源URL是可以訪問到的;請求
但假設不指名需要包括空的Referer,那麼經過瀏覽器直接訪問也是被禁止的。