MDN 定义

meta是文档级元数据元素,用来表示那些不能由其它 HTML 元相关元素(<base>、<link>, <script>、<style>或 <title>)之一表示的任何元数据。

每个字都认识,但是 …
他到底发挥什么作用还要看他设置了什么元属性

  • 如果设置了 name属性,meta元素提供的是文档级别的元数据,应用于整个页面。
  • 如果设置了 http-equiv属性,meta元素则是编译指令,提供的信息与类似命名的 HTTP 头部相同。
  • 如果设置了 charset属性,meta元素是一个字符集声明,告诉文档使用哪种字符编码。
  • 如果设置了 itemprop属性,meta元素提供用户定义的元数据。

下面的属性对应的值以及作用

name

通常配合 content 使用,name里告知是什么类型的属性,content告诉该属性的内容

“author”

表示网页作者的名字

  1. <meta name="author" content="zhou">

“description”

对页面内容的描述

“keywords”

关键词,方便搜索引擎分类

“viewpoint”

为 viewport(视口)的初始大小提供指示。目前仅用于移动设备。
他这个content里面,有点像原生操作 cookie 的样子,字符串里=号拼接

  1. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  • widthviewport的宽度为设备宽度
  • initial-scale:为设备宽度与 viewport大小之间的缩放比例。

    “robots”

    爬虫对此页面要遵循的规则
    content分为:
  1. all:搜索引擎将索引此网页,并继续通过此网页的链接索引文件将被检索
  2. none:搜索引擎讲忽略此网页
  3. index:搜索引擎索引此网页
  4. follow:搜索引擎继续通过此网页的链接索引搜索其它的网页

“renderer”

指定双核浏览器的渲染方式

双核浏览器,就是有两个内核浏览器。由于Internet Explorer浏览器在国内的普及率非常高,所以造成了很多网上银行和支付系统只支持Internet Explorer的Trident内核,其他浏览器访问根本无法进行正常支付和转账等业务。而WebKit内核的非Internet Explorer浏览器以更高的性能和更好的用户体验拥有了越来越多的用户。于是双核浏览器应运而生,在不用网上交易的一般网站,使用速度快的WebKit内核访问,这就是所谓的“高速模式”;在访问支付宝或者网上银行的时候,使用Trident内核的“兼容模式”来进行业务。一般的双核浏览器拥有IE兼容内核和非IE极速内核两个内核,这样就满足同一用户的不同需求。

  1. <meta name="renderer" content="webkit"> //默认webkit内核
  2. <meta name="renderer" content="ie-comp"> //默认IE兼容模式
  3. <meta name="renderer" content="ie-stand"> //默认IE标准模式

http-equiv

content一起使用,前者表示要表示的元数据的名称,后者是元数据的值。

元数据Metadata),又称中介数据中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。 元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。

http-equiv 所有允许的值都是特定 HTTP 头部的名称

“X-UA-Compatible”

用来是做IE浏览器适配的。

  1. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

这个属性支持的范围是IE8-IE11
IE=edge告诉浏览器,以当前浏览器支持的最新版本来渲染,IE9就以IE9版本来渲染。
chrome=1 有chrome内核就拿来渲染页面。

如果在我们的http头部中也设置了这个属性,并且和meta中设置的有冲突,那么哪一个优先呢?答案是:开发者偏好(meta元素)优先于Web服务器设置(HTTP头)。

“content-type”

声明文档类型和字符集

“x-dns-prefetch-control”

HTML页面中的a标签会自动启用DNS提前解析来提升网站性能,https协议的网站中失效。这个可以打开 dns 对 a 标签的提前解析

“cache-control”、”Pragma”、”Expires”

与缓存有关,但是一般没用,一般通过 设置 http header 来设置缓存策略