1、meta究竟是什麼?html
英文解釋:The <meta> tag provides metadata about the HTML document. Metadata will not be displayed on the page, but will be machine parsable.前端
翻譯過來就是:<meta>標籤提供metadata,中文名叫元數據是用於描述數據的數據。它不會顯示在頁面上,可是機器卻能夠識別。web
2、meta有什麼用?chrome
文檔中查看到:Meta elements are typically used to specify page description, keywords, author of the document, last modified, and other metadata.編程
翻譯過來就是:meta經常使用於定義頁面的說明,關鍵字,最後修改日期,和其它的元數據。這些元數據將服務於瀏覽器(如何佈局或重載頁面),搜索引擎和其它網絡服務。bootstrap
3、meta的屬性瀏覽器
content屬性,http-equiv屬性,name屬性,scheme屬性緩存
name屬性主要用於描述網頁,好比網頁的關鍵詞,敘述等。與之對應的屬性值爲content,content中的內容是對name填入類型的具體描述,便於搜索引擎抓取。meta標籤中name屬性語法格式是:安全
<meta name="參數" content="具體的描述">。
其中name屬性共有如下幾種參數。(A-C爲經常使用屬性)服務器
說明:用於告訴搜索引擎,你網頁的關鍵字。舉例:
<meta name="keywords" content="Lxxyx,博客,文科生,前端">
說明:用於告訴搜索引擎,你網站的主要內容。舉例:
<meta name="description" content="文科生,熱愛前端與編程。目前大二,這是個人前端博客">
說明:這個概念較爲複雜,具體的會在下篇博文中講述。這個屬性經常使用於設計移動端網頁。在用bootstrap,AmazeUI等框架時候都有用過viewport。
舉例(經常使用範例):
<meta name="viewport" content="width=device-width, initial-scale=1">
說明:robots用來告訴爬蟲哪些頁面須要索引,哪些頁面不須要索引。content的參數有all,none,index,noindex,follow,nofollow。默認是all。
舉例:
<meta name="robots" content="none">
具體參數以下:
1.none : 搜索引擎將忽略此網頁,等價於noindex,nofollow。
2.noindex : 搜索引擎不索引此網頁。
3.nofollow: 搜索引擎不繼續經過此網頁的連接索引搜索其它的網頁。
4.all : 搜索引擎將索引此網頁與繼續經過此網頁的連接索引,等價於index,follow。
5.index : 搜索引擎索引此網頁。
6.follow : 搜索引擎繼續經過此網頁的連接索引搜索其它的網頁。
說明:用於標註網頁做者舉例:
<meta name="author" content="Lxxyx,841380530@qq.com">
說明:用於標明網頁是什麼軟件作的舉例: (不知道能不能這樣寫):
<meta name="generator" content="Sublime Text3">
說明:用於標註版權信息舉例:
<meta name="copyright" content="Lxxyx"> //表明該網站爲Lxxyx我的版權全部。
說明:若是頁面不是常常更新,爲了減輕搜索引擎爬蟲對服務器帶來的壓力,能夠設置一個爬蟲的重訪時間。若是重訪時間太短,爬蟲將按它們定義的默認時間來訪問。舉例:
<meta name="revisit-after" content="7 days" >
說明:renderer是爲雙核瀏覽器準備的,用於指定雙核瀏覽器默認以何種方式渲染頁面。好比說360瀏覽器。舉例:
<meta name="renderer" content="webkit"> //默認webkit內核 <meta name="renderer" content="ie-comp"> //默認IE兼容模式 <meta name="renderer" content="ie-stand"> //默認IE標準模式
該屬性表示至關於HTTP的做用,好比說定義些HTTP參數啥的。
meta標籤中http-equiv屬性語法格式是:
<meta http-equiv="參數" content="具體的描述">
其中http-equiv屬性主要有如下幾種參數:
形式:Content-Type: [type]/[subtype]; parameter
說明:表示後面的文檔屬於什麼MIME類型,用於設定網頁字符集,便於瀏覽器解析與渲染頁面舉例:
<meta http-equiv="content-Type" content="text/html;charset=utf-8"> //舊的HTML,不推薦 <meta charset="utf-8"> //HTML5設定網頁字符集的方式,推薦使用UTF-8
更多type類型參數
Text:用於標準化地表示的文本信息,文本消息能夠是多種字符集和或者多種格式的;
Multipart:用於鏈接消息體的多個部分構成一個消息,這些部分能夠是不一樣類型的數據;
Application:用於傳輸應用程序數據或者二進制數據;
Message:用於包裝一個E-mail消息;
Image:用於傳輸靜態圖片數據;
Audio:用於傳輸音頻或者音聲數據;
Video:用於傳輸動態影像數據,能夠是與音頻編輯在一塊兒的視頻數據格式。
說明:用於告知瀏覽器以何種版原本渲染頁面。(通常都設置爲最新模式,在各大框架中這個設置也很常見。)舉例:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新版本渲染當前頁面
說明:指導瀏覽器如何緩存某個響應以及緩存多長時間。這一段內容我在網上找了好久,但都沒有找到滿意的。最後終於在Google Developers中發現了我想要的答案。
舉例:
<meta http-equiv="cache-control" content="no-cache">
共有如下幾種用法:
no-cache: 先發送請求,與服務器確認該資源是否被更改,若是未被更改,則使用緩存。
no-store: 不容許緩存,每次都要去服務器上,下載完整的響應。(安全措施)
public : 緩存全部響應,但並不是必須。由於max-age也能夠作到相同效果
private : 只爲單個用戶緩存,所以不容許任何中繼進行緩存。(好比說CDN就不容許緩存private的響應)
maxage : 表示當前請求開始,該響應在多久內能被緩存和重用,而不去服務器從新請求。例如:max-age=60表示響應能夠再緩存和重用 60 秒。
說明:用於禁止當前頁面在移動端瀏覽時,被百度自動轉碼。雖然百度的本意是好的,可是轉碼效果不少時候卻不盡人意。因此能夠在head中加入例子中的那句話,就能夠避免百度自動轉碼了。舉例:
<meta http-equiv="Cache-Control" content="no-siteapp" />
說明:用於設定網頁的到期時間,過時後網頁必須到服務器上從新傳輸。舉例:
<meta http-equiv="expires" content="Sunday 26 October 2016 01:00 GMT" />
說明:網頁將在設定的時間內,自動刷新並調向設定的網址。舉例:
<meta http-equiv="refresh" content="2;URL=http://www.lxxyx.win/"> //意思是2秒後跳轉向個人博客
說明:若是網頁過時。那麼這個網頁存在本地的cookies也會被自動刪除。
<meta http-equiv="Set-Cookie" content="name, date"> //格式 <meta http-equiv="Set-Cookie" content="User=Lxxyx; path=/; expires=Sunday, 10-Jan-16 10:00:00 GMT"> //具體範例
說明:是否在ie裏關閉xp的藍色立體按鈕系統顯示樣式
<meta http-equiv = "MSThemeCompatible" Content = "Yes">
說明:防止微軟頁面編輯軟件在頁面上自動添加,保證代碼的原汁原味
<meta http-equiv = "MSSmartTagsPreventParsing" Content = "True">
content 屬性提供了名稱/值對中的值。該值能夠是任何有效的字符串。
content 屬性始終要和 name 屬性或 http-equiv 屬性一塊兒使用。
scheme 屬性用於指定要用來翻譯屬性值的方案。此方案應該在由 <head> 標籤的 profile 屬性指定的概況文件中進行了定義。
該文檔轉自 傻瓜不傻的博客
https://www.cnblogs.com/wangyang108/p/5995379.html