請求後端接口時,banner圖片的請求出現403錯誤:GET http://xxxxxxxxxxxx 403(Forbidden)。在網上搜尋一番,解決方法以下:在index.html中的head中添加<meta name="referrer" content="no-referrer" />。html
在此以前,關於referrer,知之甚少。參考https://imququ.com/post/refer...,說是一種引用策略,能夠用來防止圖片或視頻被盜。它的原理是:http 協議中,若是從一個網頁跳到另外一個網頁,http 頭字段裏面會帶個 Referrer。圖片服務器經過檢測 Referrer 是否來自規定域名,來進行防盜鏈。若是沒有設置referrer,那就能夠直接繞過防盜鏈機制,直接使用或盜取。chrome
一、no-referrer:全部請求不發送 referrer。segmentfault
二、no-referrer-when-downgrade(默認值):當請求安全級別降低時不發送 referrer。目前,只有一種狀況會發生安全級別降低,即從 HTTPS 到 HTTP。HTTPS 到 HTTP 的資源引用和連接跳轉都不會發送 referrer。後端
三、same-origin:對於同源的連接和引用,會發送referrer,其餘的不會。瀏覽器
四、origin:在任何狀況下僅發送源信息做爲引用地址。源信息包括訪問協議和域名。緩存
五、strict-origin:在安全級別降低時不發送 referrer;而在同等安全級別的狀況下僅發送源信息。注意:這個是新加的標準,有些瀏覽器可能還不支持。安全
六、origin-when-cross-origin:同源的連接和引用,會發送徹底的 referrer 信息;但非同源連接和引用時,只發送源信息。服務器
七、strict-origin-when-cross-origin:同源的連接和引用,會發送 referrer。安全級別降低時不發送 referrer。其它狀況下發送源信息。注意:這個是新加的標準,有些瀏覽器可能還不支持。cookie
八、unsafe-url:不管是否發生協議降級,不管是本站連接仍是站外連接,通通都發送 Referrer 信息。正如其名,這是最寬鬆而最不安全的策略。app
Referrer-Policy: no-referrer
一、CSP(Content Security Policy),是一個跟頁面內容安全有關的規範。在 HTTP 中經過響應頭中的 Content-Security-Policy 字段來告訴瀏覽器當前頁面要使用何種 CSP 策略。
Content-Security-Policy: referrer no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|unsafe-url;
CSP 的指令和指令值之間以空格分割,多個指令之間用英文分號分割。
二、<meta> 標籤
<meta name="referrer" content="no-referrer|no-referrer-when-downgrade|origin|origin-when-crossorigin|unsafe-url">
若是 content 屬性不是合法的取值,瀏覽器會自動選擇 no-referrer 這種最嚴格的策略。
三、經過a、area、link元素的 referrer屬性
a href="http://www.baidu.com" referrer="no-referrer|origin|unsafe-url"
meta標籤用來描述一個HTML網頁文檔的屬性,有關頁面的元信息,主要有兩個屬性:name 和 http-equiv
一、<meta name="參數" content="具體的描述">
name屬性主要用於描述網頁,好比網頁的關鍵詞,敘述等。屬性值爲content,content中的內容是對name填入類型的具體描述,便於搜索引擎抓取。
二、name的參數
①、keywords:網頁關鍵字
<meta name="keywords" content="food, water">
②、description:網站內容的描述,網站主要內容
<meta name="description" content="Study English online">
③、viewport:移動端視口,僅供移動設備使用
<meta name="viewport" content="width=device-width, initial-scale=1">
④、robots:搜索引擎爬蟲的索引方式,content不填默認爲all
<meta name="robots" content="all|none|index|noindex|follow|nofollow">
none : 搜索引擎將忽略此網頁,等價於noindex,nofollow
noindex : 搜索引擎不索引此網頁
nofollow: 搜索引擎不繼續經過此網頁的連接索引搜索其它的網頁
all : 搜索引擎將索引此網頁與繼續經過此網頁的連接索引,等價於index,follow
index : 搜索引擎索引此網頁
follow : 搜索引擎繼續經過此網頁的連接索引搜索其它的網頁
⑤、author:做者
<meta name="author" content="Sheldon">
⑥、copyright:標註版權信息
<meta name="copyright" content="yixinli"> //表明該網站爲yixinli版權全部
⑦、revisit-after:搜索引擎爬蟲重訪時間
<meta name="revisit-after" content="one week" >
三、<meta http-equiv="參數" content="具體的描述">
http-equiv至關於http文件頭的做用
四、http-equiv的參數:
①、content-Type:聲明字符編碼
<meta charset="utf-8"> // H5新增,推薦使用 <meta http-equiv="content-Type" content="text/html;charset=utf-8"> //舊的HTML
②、cache-control:指定請求和響應遵循的緩存機制
<meta http-equiv="cache-control" content="no-cache">
content的值有:
no-cache: 先發送請求,與服務器確認該資源是否被更改,若是未被更改,則使用緩存
no-store: 不容許緩存,每次都要去服務器上,下載完整的響應
public : 緩存全部響應,但並不是必須。由於max-age也能夠作到相同效果
private : 只爲單個用戶緩存,所以不容許任何中繼進行緩存
maxage : 表示當前請求開始,該響應在多久內能被緩存和重用,而不去服務器從新請求。例如:max-age=60表示響應能夠再緩存和重用 60 秒。
no-siteapp:禁止百度自動轉碼
③、expires:網頁到期時間,到期後網頁必須到服務器上從新傳輸。
<meta http-equiv="expires" content="Sunday 26 October 2018 10:00 GMT" />
④、refresh:自動刷新並指向某頁面
<meta http-equiv="refresh" content="2; URL=http://www.sina.com/"> //意思是2秒後跳轉新浪
⑤、X-UA-Compatible:瀏覽器採起何種版本渲染當前頁面
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> //指定IE和Chrome使用最新版本渲染當前頁面
⑥、Set-Cookie:爲頁面定義cookie
若是網頁過時,那麼這個網頁存在本地的cookies也會被自動刪除。
<meta http-equiv="Set-Cookie" content="name, date"> //格式
參考文檔:
https://imququ.com/post/refer...
https://www.jianshu.com/p/b12...
https://developer.mozilla.org...
https://developer.mozilla.org...
https://segmentfault.com/a/11...