MDN 定义
meta是文档级元数据元素,用来表示那些不能由其它 HTML 元相关元素(
<base>、<link>, <script>、<style>或 <title>
)之一表示的任何元数据。
每个字都认识,但是 …
他到底发挥什么作用还要看他设置了什么元属性
- 如果设置了
name
属性,meta
元素提供的是文档级别的元数据,应用于整个页面。 - 如果设置了
http-equiv
属性,meta
元素则是编译指令,提供的信息与类似命名的 HTTP 头部相同。 - 如果设置了
charset
属性,meta
元素是一个字符集声明,告诉文档使用哪种字符编码。 - 如果设置了
itemprop
属性,meta
元素提供用户定义的元数据。
name
通常配合 content
使用,name
里告知是什么类型的属性,content
告诉该属性的内容
“author”
表示网页作者的名字
<meta name="author" content="zhou">
“description”
“keywords”
“viewpoint”
为 viewport(视口)的初始大小提供指示。目前仅用于移动设备。
他这个content
里面,有点像原生操作 cookie 的样子,字符串里=
号拼接
<meta name="viewport" content="width=device-width, initial-scale=1.0">
all
:搜索引擎将索引此网页,并继续通过此网页的链接索引文件将被检索none
:搜索引擎讲忽略此网页index
:搜索引擎索引此网页follow
:搜索引擎继续通过此网页的链接索引搜索其它的网页
“renderer”
指定双核浏览器的渲染方式
双核浏览器,就是有两个内核的浏览器。由于Internet Explorer浏览器在国内的普及率非常高,所以造成了很多网上银行和支付系统只支持Internet Explorer的Trident内核,其他浏览器访问根本无法进行正常支付和转账等业务。而WebKit内核的非Internet Explorer浏览器以更高的性能和更好的用户体验拥有了越来越多的用户。于是双核浏览器应运而生,在不用网上交易的一般网站,使用速度快的WebKit内核访问,这就是所谓的“高速模式”;在访问支付宝或者网上银行的时候,使用Trident内核的“兼容模式”来进行业务。一般的双核浏览器拥有IE兼容内核和非IE极速内核两个内核,这样就满足同一用户的不同需求。
<meta name="renderer" content="webkit"> //默认webkit内核
<meta name="renderer" content="ie-comp"> //默认IE兼容模式
<meta name="renderer" content="ie-stand"> //默认IE标准模式
http-equiv
和content
一起使用,前者表示要表示的元数据的名称,后者是元数据的值。
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。 元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。
http-equiv 所有允许的值都是特定 HTTP 头部的名称
“X-UA-Compatible”
用来是做IE浏览器适配的。
<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 来设置缓存策略