1. 程式人生 > >meta標簽的總結

meta標簽的總結

窗口 舉例 generator attribute googl eight attr 緩存 等價

一、meta到底是什麽?

英文解釋:The <meta> tag provides metadata about the HTML document. Metadata will not be displayed on the page, but will be machine parsable.

翻譯過來就是:<meta>標簽提供metadata,中文名叫元數據是用於描述數據的數據。它不會顯示在頁面上,但是機器卻可以識別。

二、meta有什麽用?

文檔中查看到:Meta elements are typically used to specify page description, keywords, author of the document, last modified, and other metadata.

翻譯過來就是:meta常用於定義頁面的說明,關鍵字,最後修改日期,和其它的元數據。這些元數據將服務於瀏覽器(如何布局或重載頁面),搜索引擎和其它網絡服務。

三、meta的屬性

content屬性,http-equiv屬性,name屬性,scheme屬性

1. name屬性

name屬性主要用於描述網頁,比如網頁的關鍵詞,敘述等。與之對應的屬性值為content,content中的內容是對name填入類型的具體描述,便於搜索引擎抓取。meta標簽中name屬性語法格式是:

<meta name="參數" content="具體的描述">。

其中name屬性共有以下幾種參數。(A-C為常用屬性)

A. keywords(關鍵字)

說明:用於告訴搜索引擎,你網頁的關鍵字。舉例:

<meta name="keywords" content="Lxxyx,博客,文科生,前端">

B. description(網站內容的描述)

說明:用於告訴搜索引擎,你網站的主要內容。舉例:

<meta name="description" content="文科生,熱愛前端與編程。目前大二,這是我的前端博客">

C. viewport(移動端的窗口)

說明:這個概念較為復雜,具體的會在下篇博文中講述。這個屬性常用於設計移動端網頁。在用bootstrap,AmazeUI等框架時候都有用過viewport。

舉例(常用範例):

<meta name="viewport" content="width=device-width, initial-scale=1">

D. robots(定義搜索引擎爬蟲的索引方式)

說明: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 : 搜索引擎繼續通過此網頁的鏈接索引搜索其它的網頁。

E. author(作者)

說明:用於標註網頁作者舉例:

<meta name="author" content="Lxxyx,[email protected]">

F. generator(網頁制作軟件)

說明:用於標明網頁是什麽軟件做的舉例: (不知道能不能這樣寫):

<meta name="generator" content="Sublime Text3">

G. copyright(版權)

說明:用於標註版權信息舉例:

<meta name="copyright" content="Lxxyx"> //代表該網站為Lxxyx個人版權所有。

H. revisit-after(搜索引擎爬蟲重訪時間)

說明:如果頁面不是經常更新,為了減輕搜索引擎爬蟲對服務器帶來的壓力,可以設置一個爬蟲的重訪時間。如果重訪時間過短,爬蟲將按它們定義的默認時間來訪問。舉例:

<meta name="revisit-after" content="7 days" >

I. renderer(雙核瀏覽器渲染方式)

說明:renderer是為雙核瀏覽器準備的,用於指定雙核瀏覽器默認以何種方式渲染頁面。比如說360瀏覽器。舉例:

<meta name="renderer" content="webkit"> //默認webkit內核
<meta name="renderer" content="ie-comp"> //默認IE兼容模式
<meta name="renderer" content="ie-stand"> //默認IE標準模式

2. http-equiv屬性

該屬性表示相當於HTTP的作用,比如說定義些HTTP參數啥的。

meta標簽中http-equiv屬性語法格式是:

<meta http-equiv="參數" content="具體的描述">

其中http-equiv屬性主要有以下幾種參數:

A. content-Type(設定網頁字符集)(推薦使用HTML5的方式)

形式: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:用於傳輸動態影像數據,可以是與音頻編輯在一起的視頻數據格式。

B. X-UA-Compatible(瀏覽器采取何種版本渲染當前頁面)

說明:用於告知瀏覽器以何種版本來渲染頁面。(一般都設置為最新模式,在各大框架中這個設置也很常見。)舉例:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新版本渲染當前頁面

C. cache-control(指定請求和響應遵循的緩存機制)

用法1.

說明:指導瀏覽器如何緩存某個響應以及緩存多長時間。這一段內容我在網上找了很久,但都沒有找到滿意的。最後終於在Google Developers中發現了我想要的答案。

技術分享圖片

舉例:

<meta http-equiv="cache-control" content="no-cache">

共有以下幾種用法:

  1. no-cache: 先發送請求,與服務器確認該資源是否被更改,如果未被更改,則使用緩存。

  2. no-store: 不允許緩存,每次都要去服務器上,下載完整的響應。(安全措施)

  3. public : 緩存所有響應,但並非必須。因為max-age也可以做到相同效果

  4. private : 只為單個用戶緩存,因此不允許任何中繼進行緩存。(比如說CDN就不允許緩存private的響應)

  5. maxage : 表示當前請求開始,該響應在多久內能被緩存和重用,而不去服務器重新請求。例如:max-age=60表示響應可以再緩存和重用 60 秒。

用法2.(禁止百度自動轉碼)

說明:用於禁止當前頁面在移動端瀏覽時,被百度自動轉碼。雖然百度的本意是好的,但是轉碼效果很多時候卻不盡人意。所以可以在head中加入例子中的那句話,就可以避免百度自動轉碼了。舉例:

<meta http-equiv="Cache-Control" content="no-siteapp" />

D. expires(網頁到期時間)

說明:用於設定網頁的到期時間,過期後網頁必須到服務器上重新傳輸。舉例:

<meta http-equiv="expires" content="Sunday 26 October 2016 01:00 GMT" />

E. refresh(自動刷新並指向某頁面)

說明:網頁將在設定的時間內,自動刷新並調向設定的網址。舉例:

<meta http-equiv="refresh" content="2;URL=http://www.lxxyx.win/"> //意思是2秒後跳轉向我的博客

F. Set-Cookie(cookie設定)

說明:如果網頁過期。那麽這個網頁存在本地的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"> //具體範例 

G.MSThemeCompatible

說明:是否在ie裏關閉xp的藍色立體按鈕系統顯示樣式

<meta http-equiv = "MSThemeCompatible" Content = "Yes">

H.MSSmartTagsPreventParsing

說明:防止微軟頁面編輯軟件在頁面上自動添加,保證代碼的原汁原味

<meta http-equiv = "MSSmartTagsPreventParsing" Content = "True">

3.content屬性

content 屬性提供了名稱/值對中的值。該值可以是任何有效的字符串。

content 屬性始終要和 name 屬性或 http-equiv 屬性一起使用。

4.scheme屬性

scheme 屬性用於指定要用來翻譯屬性值的方案。此方案應該在由 <head> 標簽的 profile 屬性指定的概況文件中進行了定義。

該文檔轉自 傻瓜不傻的博客

https://www.cnblogs.com/wangyang108/p/5995379.html

meta標簽的總結