摘要:常用于定義頁面的說明,關鍵字,最后修改日期,和其它的元數據。這些元數據將服務于瀏覽器如何布局或重載頁面,搜索引擎和其它網絡服務。安全措施緩存所有響應,但并非必須。另一種是通過網頁的標簽。該元數據名稱與屬性包含的值相關聯。
文章同步于Github Pines-Cheng/blog
簡介
meta標簽是HTML語言HEAD區的一個輔助性標簽。
meta常用于定義頁面的說明,關鍵字,最后修改日期,和其它的元數據。這些元數據將服務于瀏覽器(如何布局或重載頁面),搜索引擎和其它網絡服務。
mata 標簽包含全局屬性
charset
聲明網頁的字符編碼:
content
content屬性的內容是htp-equiv或name屬性的值,具體取決于你用哪一個。
http-equiv
該屬性可以包含HTTP頭的名稱,屬性的英文全稱為http-equivalent。它定義了可以改變server和user-agent行為的指令。該指令的值在content屬性內定義,可以是以下之一:
content-language(已過時)
定義頁面的默認語言。它可以被任何元素上的lang屬性所覆蓋。
Pragma
禁止瀏覽器從本地計算機的緩存中訪問頁面內容。如:
<meta http-equiv="Pragma" content="no-cache">
expires
可以用于設定網頁的到期時間。一旦網頁過期,必須到服務器上重新傳輸。
cache-control
指定請求和響應遵循的緩存機制。共有以下幾種用法:
no-cache: 先發送請求,與服務器確認該資源是否被更改,如果未被更改,則使用緩存。
no-store: 不允許緩存,每次都要去服務器上,下載完整的響應。(安全措施)
public : 緩存所有響應,但并非必須。因為max-age也可以做到相同效果
private : 只為單個用戶緩存,因此不允許任何中繼進行緩存。(比如說CDN就不允許緩存private的響應)
max-age : 表示當前請求開始,該響應在多久內能被緩存和重用,而不去服務器重新請求。例如:max-age=60表示響應可以再緩存和重用 60 秒。
content-security-policy
允許頁面作者定義當前頁面的內容策略。內容策略主要指定允許的服務器地址和腳本端點,這有助于防止cross-site scripting 攻擊。
CSP 的實質就是白名單制度,開發者明確告訴客戶端,哪些外部資源可以加載和執行,等同于提供白名單。它的實現和執行全部由瀏覽器完成,開發者只需提供配置。
CSP 大大增強了網頁的安全性。攻擊者即使發現了漏洞,也沒法注入腳本,除非還控制了一臺列入了白名單的可信主機。
兩種方法可以啟用 CSP。一種是通過 HTTP 頭信息的Content-Security-Policy的字段。
Content-Security-Policy: script-src "self"; object-src "none";
style-src cdn.example.org third-party.org; child-src https:
另一種是通過網頁的標簽。
上面代碼中,CSP 做了如下配置:
腳本:只信任當前域名