HTML5中Head内标签详解(一):meta标签
引言:
我发现自己最近有点走偏了,越来越多的将学习的精力放在编程上,而渐渐的忽略了HTML这个简单又不简单的标记语言上。相信大家应该也有这样的经历。觉得HTML这种东西很简单不需要花费太多精力就能使用,但是时间久了我发现会用是远远不够的,要知其然还要之气所以然,方能做到庖丁解牛,游刃有余,而不是被动的查文档(不是所有人都这样认为)。写了这么久HTML但是神奇的meta标签真的搞不懂,只知道用到啥百度一下,找到要用的配置就好,心里还是好奇(原谅我好奇心重)。
1.常用的header标签配置
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Document</title>
</head>
这种配置一般会都是编辑器自动生成的,时间长了也就习惯了。没有去细究这里面的设置到底是啥意思,到底对页面的显示到底会产生什么影响。
2.详解meta标签
元数据(Metadata)是数据的数据信息。
<meta> 标签提供了 HTML 文档的元数据。元数据不会显示在客户端,但是会被浏览器解析。
META元素通常用于指定网页的描述,关键词,文件的最后修改时间,作者及其他元数据。
元数据可以被使用浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 Web 服务调用。 -——W3C文档
总而言之<meta>标签的作用是用来告诉浏浏览器我的页面要怎么解码,怎么展示。
2.1 <meta>标签的属性
-
charset属性
:这个属性是HTML5新增的属性,主要的作用是用来定义文档的字符编码,就是告诉浏览器在从服务器获取这个html文档后采用什么样的解码格式去正确的解码该文档。一般值都是UTF-8
,同样的没有特殊要求的话也推荐使用UTF-8。 -
name属性
:name属性的作用是用来表示其所在<meta>标签具体的作用,比如<meta name="keywords">
则指明该meta标签使用来定义该页面的关键字的,利于SEO。 -
content属性
:用来定义name指定作用的信息,比如<meta name="keywords" content="学习, 工作">
作用就是声明该页面的搜索关键词是学习或者工作,在搜索引擎中搜索工作或学习可以搜到该页面。 -
http-equiv属性
:它的作用和name
属性差不多,就是用来指定meta标签的作用,但是不同的是它会关联到HTTP头部的一些作用,也影响就是浏览器发送http请求和浏览器引擎的行为,可能这样说不太对,差不多就这意思。
2.2 charset 和 name属性值
-
charset属性的值一般为UTF-8,也可以选用其他的编码格式,推荐使用UTF-8。
-
name属性的值有:
- application-name:顾名思义用于定义应用的名称,名字定义在content属性的值中,通过搜索引擎能搜到该应用的名字,但是只有当页面为一个webapp时才能使用
- author:作者名字,给搜索引擎提供作者的信息
- description:网页描述,具体内容定义在content属性的值中
- generator:这个具体不太清楚是啥用,一般用于显示网页的制作工具,比如以前的dreamwave等
- keywords:这个比较重要,搜索引擎根据关键词来归类网页,好的关键词描述能够使网页更加容易的被用户搜索到
- referrer:这个属性值比较复杂主要是用来控制页面与服务器交互时发送的请求,作为页面信息安全的保障措施。具体请看这里可以参考一下
这些个属性值是w3c官方标准的属性值,但是现在浏览器上还是有一些私有的属性值
<!-- 设置文档的字符编码 -->
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 以上 3 个 meta 标签 *必须* 放在 head 的最前面;其他任何的 head 内容必须在这些标签的 *后面* -->
<!-- 对外部资源加载的限制(允许控制从哪里加载资源) -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">
<!-- 尽早地放置在文档中 -->
<!-- 仅应用于该标签下的内容 -->
<!-- Web 应用的名称(仅当网站被用作为一个应用时才使用)-->
<meta name="application-name" content="应用名称">
<!-- 针对页面的简短描述(限制 150 字符)-->
<!-- 在*某些*情况下,该描述是被用作搜索结果展示片段的一部分 -->
<meta name="description" content="一个页面描述">
<!-- 控制搜索引擎的抓取和索引行为 -->
<meta name="robots" content="index,follow"><!-- 所有搜索引擎 -->
<meta name="googlebot" content="index,follow"><!-- 仅对 Google 有效 -->
<!-- 告诉 Google 不显示网站链接的搜索框 -->
<meta name="google" content="nositelinkssearchbox">
<!-- 告诉 Google 不提供此页面的翻译 -->
<meta name="google" content="notranslate">
<!-- 验证 Google 搜索控制台的所有权 -->
<meta name="google-site-verification" content="verification_token">
<!-- 验证 Yandex 网站管理员的所有权 -->
<meta name="yandex-verification" content="verification_token">
<!-- 验证 Bing 网站管理员中心的所有权 -->
<meta name="msvalidate.01" content="verification_token">
<!-- 验证 Alexa 控制台的所有权 -->
<meta name="alexaVerifyID" content="verification_token">
<!-- 验证 Pinterest 控制台的所有权 -->
<meta name="p:domain_verify" content="code from pinterest">
<!-- 验证 Norton 安全站点的所有权 -->
<meta name="norton-safeweb-site-verification" content="norton code">
<!-- 用来命名软件或用于构建网页(如 - WordPress、Dreamweaver)-->
<meta name="generator" content="program">
<!-- 关于你的网站主题的简短描述 -->
<meta name="subject" content="你的网站主题">
<!-- 基于网站内容给出一般的年龄分级 -->
<meta name="rating" content="General">
<!-- 允许控制 referrer 信息如何传递 -->
<meta name="referrer" content="no-referrer">
<!-- 禁用自动检测和格式化可能的电话号码 -->
<meta name="format-detection" content="telephone=no">
<!-- 通过设置为 “off” 完全退出 DNS 预取 -->
<meta http-equiv="x-dns-prefetch-control" content="off">
<!-- 在客户端存储 cookie,web 浏览器的客户端识别 -->
<meta http-equiv="set-cookie" content="name=value; expires=date; path=url">
<!-- 指定要显示在一个特定框架中的页面 -->
<meta http-equiv="Window-Target" content="_value">
<!-- 地理标签 -->
<meta name="ICBM" content="latitude, longitude">
<meta name="geo.position" content="latitude;longitude">
<meta name="geo.region" content="country[-state]"><!-- 国家代码 (ISO 3166-1): 强制性, 州代码 (ISO 3166-2): 可选; 如 content="US" / content="US-NY" -->
<meta name="geo.placename" content="city/town"><!-- 如 content="New York City" -->
——以上代码引用自:http://www.css88.com/archives/8052