【元信息标签】

元信息标签


1. 文档信息标签

1.1 文档信息标签 有哪些 ?


标签名用于
<head>定义关于 文档的信息
<meta>定义关于 HTML 文档的 元信息(文档数据的信息)。
<base>定义页面中 所有链接默认地址或默认目标
basefont已废弃。定义页面中 文本的 默认字体、颜色或尺寸

1.2 ★ head 文档的 头部 (所有 头部元素的 容器 )

  • 文档的 头部

    • 如何定义 文档的头部 ?
    • 什么是 所有头部元素的 容器 ?
      • 使用 <head> 头部标签
      • 文档头部 包含内容: 包含 文档相关的 配置信息 , 机器可读信息(元数据),如 ❶ 标题、❷ 脚本和 ❸ 样式表
    • 使用范围:
      • 机器 处理的信息: <head>元素 主要保存 用于机器处理的信息,而不是 为了人的可读性。
      • 用户可见的 标题等: 对于 用户可见的信息,如 顶级标题和列出的作者,参见分区 头部<header>元素,通常是 header > h1~h6
  • 文档的头部 描述了什么 ?

    • 文档的各种 属性和信息,包括
      • 文档的 标题
      • 在 Web 中的 位置
      • 和其他文档的 关系 等。
  • 文档头部内容 不显示:

    • 绝大多数 文档头部 包含的数据 , 都不会作为内容 显示给读者。
  • 文档头部 <head> 标签的 6个 限定子元素

    • <base> 链接 基准地址和目标 标签
    • <link>链接 标签
    • <meta> 元信息 标签
    • <script>脚本 标签
    • <style> 文档内部样式 标签
    • <title> 文档标题 标签
  • 文档头部 <head> 标签的 必需子元素

    • 文档标题 <title>标签 , 定义 文档的 标题
      • 文档 不能没有标题,这个一般能让用户清楚明了的知道 内容的主题,明确知道 该不该继续浏览.
  • 文档头部 <head> 标签的 位置

    • 文档的开始处
    • 第一个 子元素: 紧跟在 文档根 标签 <html>的 后面,第一个子元素
    • 并处于<body> 文档主体 标签或 <frameset> 框架集 标签之前。
  • 省略<head>头部标签 对应 浏览器的处理

    • 自动创建: 如果在文档中 忽略了 <head> 标签,则大部分浏览器 会自动创建一个<head>元素。当然,有一些不会。
    • 不会 自动创建: 下面这些浏览器经测试 不会自动创建一个 head 元素:
      • Android <=1.6, iPhone <=3.1.3, Nokia 90, Opera <=9.27, and Safari <=3.2.1
    • 不能省略: 所以,文档头部标签head,一定要写上,免得造成 不必要的麻烦.

1.2.1 head 文档头部 标签的 可选的属性

属性名属性值用于
profile=URL已废弃. 一个由 空格 分隔URL 列表,这些 URL 包含着 有关页面的 元数据信息 , 配置文件的 URL.

⑴ profile 属性: 配置文件 地址url (已废弃)
  • <head>头部标签的 profile 配置文件属性
    • 配置文件 地址:
      • profile 配置文件 属性提供了 什么信息 ?
        • 与 当前文档 相关联的 配置文件的 URL
    • 保留的 占位符: 配置文件的格式 以及浏览器使用它们的方式 都还没有进行定义
      • 这个属性主要是为
        • 将来的开发而保留的占位符。

1.2.2 head 文档头部 标签的 6个 限定子元素

  • 哪 6 个标签 可放在 <head> 头部标签中 ?
    • <base> 链接 基准地址和目标 标签
    • <link> 链接 标签
    • <meta> 元信息 标签
    • <script>脚本 标签
    • <style> 样式 标签
    • <title> 文档标题 标签
⑴ title 标签: 文档标题
  • head> <title>文档标题 标签
  • 一个简单的 HTML 文档,带有 最基本的必需的元素:
<html>

	<head>
	  <title>文档的标题</title>
	</head>
	
	<body>
	  文档的内容... ...
	</body>

</html>
  • 显示位置: 文档的标题,不会显示 在页面中,一般显示 在标题栏
  • 为搜索引擎 服务: 主要是给 搜索引擎看的,告诉搜索引擎 这个网页的内容重点是什么.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="Content-Language" content="zh-cn" />

<title>标题不会显示在文档区</title>
</head>

<body>
<p>这段文本会显示出来。</p>
</body>

</html>

⑵ base 标签: 链接 默认地址 和 打开位置 (搭配 target 属性)
  • head-<base>链接 默认地址 和 打开位置 标签
    • 所有链接的默认地址或目标的 标签
    • 使用 <base> 链接 默认地址 和 打开位置 标签 使页面中的所有标签 在新窗口中打开。
      • base-target="_blank"
<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
		<meta http-equiv="Content-Language" content="zh-cn" />
		
		<base target="_blank" />
	</head>
	
	<body>
	
		<p>
			<a href="http://www.w3school.com.cn" target="_blank">这个连接</a> 将在新窗口中加载,因为 target 属性被设置为 "_blank"。
		</p>
		
		<p>
			<a href="http://www.w3school.com.cn">这个连接</a> 也将在新窗口中加载,即使没有 target 属性。
		</p>
		
	</body>
</html>

⑶ style 标签: 文档 内部样式 (搭配 type 属性)
  • head-<style> 样式标签
  • 使用 <head>头部 标签的 子元素 <style> 样式标签,给元素 设置样式
<head>
	<style type="text/css">
		h1 {color: red}
		p {color: blue}
	</style>
</head>

<body>
	<h1>header 1</h1>
	<p>A paragraph.</p>
</body>

⑷ link 标签: 链接 外部资源 (搭配 rel,type,href 属性)
  • head-<link> 链接标签
    • 如何链接到一个 外部样式表 ?
      • 通过 <link>链接 标签
<head>
	<link rel="stylesheet" type="text/css" href="/html/csstest1.css" >
</head>

<body>
	<h1>我通过外部样式表进行格式化。</h1>
	<p>我也一样!</p>
</body>

⑸ meta 标签: 文档 附加信息 (搭配 http-equiv, name, content 属性)
  • head-<meta>元信息 标签
    • 用来告诉浏览器
      • 关于 文档的 附加信息
      • 使用 <meta> 元信息 标签
  • ① 如何说明 文档的作者 / 文档的修订 / 文档的编辑软件 ?
    • 使用 <meta> 元信息标签
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
	
	<meta name="author" content="w3school.com.cn">
	
	<meta name="revised" content="David Yang,8/1/07">
	 
	<meta name="generator" content="Dreamweaver 8.0en">

</head>

<body>
	<p>本文档的 meta 属性标识了创作者和编辑软件。</p>
</body>
  • ② 如何说明 文档关键字 / 文档的描述 ?
    • 使用 <meta> 元信息标签
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
	
	<meta name="description" content="HTML examples">
	
	<meta name="keywords" content="HTML, DHTML, CSS, XML, XHTML, JavaScript, VBScript">

</head>

<body>
	<p>本文档的 meta 属性描述了该文档和它的关键词。</p>
</body>
  • ③ 重定向网址
    • 如何 在网址已经变更的情况下,将用户 重定向到 另外一个地址 ?
    • 使用 <meta> 元信息标签
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
	<meta http-equiv="Refresh" content="5;url=http://www.w3school.com.cn" />
</head>

<body>
<p>
	对不起。我们已经搬家了。您的 URL 是 <a href="http://www.w3school.com.cn">http://www.w3school.com.cn</a>
</p>

<p>您将在 5 秒内被重定向到新的地址。</p>

<p>如果超过 5 秒后您仍然看到本消息,请点击上面的链接。</p>

⑹ script 标签: 嵌入/引用 脚本 (可搭配 src 属性)
  • head-<script>元信息 标签

    • 用于 嵌入 或 引用 可执行脚本。
    • 脚本语句 / 外部脚本文件: script 元素既可以 包含 脚本语句,也可以通过 src 属性 指向 外部脚本文件。
    • MIME 类型: 必需的 type 属性 规定脚本的 MIME 类型。
  • 指向 外部脚本,用 src 资源地址 属性

<!-- HTML4 and (x)HTML -->
<script type="text/javascript" src="javascript.js">

<!-- HTML5 -->
<script src="javascript.js"></script>
  • 文档内部 脚本语句
<script type="text/javascript">
   document.write("<h1>Hello World!</h1>")
</script> 

1.3 ★ meta 关于文档的 元信息 (文档信息的 信息)

  • 文档 元信息: (关于 文档信息的 信息)

    • 有关页面的 元信息(meta-information),比如
      • 元数据 信息: <meta> 元素表示 不能由其它 相关元素 (<base>, <link>, <script>, <style><title>) 之一表示的 任何 元数据信息.
      • 元数据/元信息: 关于数据的 数据 (描述 文档信息的 信息)
  • <meta> 元信息标签的 限定位置

    • 文档头部 <head>头部 标签中,作为 子元素.
  • 空标签: <meta> 元信息 标签 包含内容吗 ?

    • 空标签,不包含 任何内容。
  • 正确关闭: <meta> 元信息 标签,HTML 与 XHTML 之间的差异

    • 在 HTML 中,<meta> 元信息 标签 没有结束标签。
    • 在 XHTML 中,<meta> 元信息 标签必须 被正确地关闭。
  • <meta> 元信息的 使用说明

    • <meta> 提供 针对搜索引擎的 文档的 描述和关键词
    • 使用 <meta> 定义 与 文档相关联 的 名称/值 对

1.3.1 meta 文档元信息 标签 的属性

  • 必需属性
属性名属性值用于
content=some_text定义与 http-equivname 属性 相关的 元信息

  • 可选属性
属性名属性值用于
① http-equiv=content-type , expires , refresh , set-cookiecontent 属性 关联到 HTTP 头部
② name= author , description , keywords , generator , revised , otherscontent 属性 关联到一个名称name
③ scheme=some_text用于 翻译 content 属性值的 格式。
④ charsetMIME name声明 当前文档所使用的 字符编码.

⑴ content 属性: 名称/值对 中的 值 (搭配 http-equiv ,name 属性)
  • <meta> 元信息 标签 的 content 内容 属性
    • 名称/值对 中的 值
      • 如何提供 名称/值对 中的 值 ?
        • 使用 meta-content 内容属性
      • 谁的值: 此属性包含http-equivname属性的值,具体取决于 所使用的值。
    • meta-content 内容 属性值
      • 任何 有效的字符串
    • meta-content 内容属性的使用 要搭配什么属性 ?
      • 属性搭配: meta-content 内容 属性必须和 meta-name名称 属性 或 meta-http-equiv 属性 一起使用。

⑵ http-equiv 属性: 服务器 传给浏览器的 名称/值 对 的名称 (搭配 content 属性)
  • <meta> 元信息 标签 的 http-equiv 属性
    • 服务器(在发送文档前 先发的) 名称/值 对 的名称
      • http-equiv 属性为 名称/值对 提供了 名称。
    • 名称/值 对: 如何让 (服务器 在发送实际的文档之前 先) 在 要传送给浏览器的 MIME 文档头部 包含 名称/值 对。
      • 使用 http-equiv 超文本传输协议 头部属性
      • 服务器发送的 名称/值 对: 当服务器 向浏览器 发送文档时
        • 文档发送前 发送的: 会先发送 许多 名称/值对。
        • 为什么 要先发送这些 值对信息 给浏览器 ?
          • 正确显示 网页内容: 相当于 http 的文件头作用,可以向浏览器 传回一些有用的信息,以帮助 正确和精确 地 显示网页内容
    • meta标签的 http-equiv性 语法格式是:
      • <metahttp-equiv="参数" content="参数变量值">

  • 示例1: 告诉浏览器 准备接受 一个 HTML 文档,并告知了 文档的字符编码。
content-type:text/html。
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
  • 使用
    • 使用带有 http-equiv 属性的 <meta> 标签时
      • 服务器将把 名称/值对 添加到
        • 发送给浏览器的 内容头部。
  • 例如,添加:
<meta http-equiv="charset" content="iso-8859-1">
<meta http-equiv="expires" content="31 Dec 2008">
  • 这样 , 发送 到浏览器的头部 就应该包含:
content-type: text/html
charset:iso-8859-1
expires:31 Dec 2008

★ http-equiv 属性 常用范围
  • meta-http-equiv 服务器发送值对的 属性值
    • 枚举属性 ,
      • http-equiv(alent),因为所有 允许的值 都是特定 HTTP header 的名称:
    • 向浏览器 传递信息: 相当于 http 的文件头作用,可以向浏览器 传回一些有用的信息,以帮助 正确和精确 地 显示网页内容
    • 搭配属性: 与之对应的属性为contentcontent 中的内容其实就是 各个参数的 变量值。
    • 这个编译值 使用 content来定义,,如下:
① 内容 安全策略: content-security-policy
  • ★ 内容 安全策略: meta-http-quiv="content-security-policy"
    • 定义当前页的 内容策略。
    • 内容策略主要 指定 允许的 服务器源和脚本端点,这有助于 防止跨站点脚本攻击
② 首选/默认 样式表: default-style
  • ★ 首选/默认 样式表: meta-http-quiv="default-style"
    • 指定了 在页面上使用的 首选样式表.
      • <meta http-equiv="default-style" content="the document's preferred stylesheet">
    • 上面 content 属性的值 必须匹配 同一文档中的一个 link 元素上的 title 属性的值,或者 必须匹配 同一文档中的一个 style 元素上的 title 属性的值。

③ 到期时间: expires ( gmt 时间格式)
  • 到期时间: expires (期限)
    • 设定网页的 到期时间。一旦网页过期,必须到服务器上 重新传输。
  • 用法:<metahttp-equiv="expires" content="Fri,12Jan200118:18:18GMT">
  • 时间格式:必须使用 GMT的 时间格式。
④ 无法 离线浏览 (无缓存): pragma
  • 无法 离线浏览: pragma(cache模式)
    • 禁止浏览器 从本地计算机的缓存中 访问页面内容。
    • 用法:<metahttp-equiv="pragma" content="no-cache"> 无缓存.
      • 美 /p’ræɡmə/
    • 注意:这样设定,访问者将 无法 脱机/离线 浏览。

⑤ 刷新时间 间隔 和 重定向链接和时间间隔: refresh
  • ★ 重新载入 和重定向: meta-http-quiv="refresh"
    • 重新载入(刷新)时间: 如果 搭配的content内容值 属性 只包含一个正整数,则是 重新载入页面的 时间间隔(秒);
    • 重定向到指定链接 和时间间隔: 如果content包含一个正整数 并且跟着一个字符串,则是 重定向到 指定链接的时间间隔(秒)
      • <metahttp-equiv="refresh" content="2;URL=http://www.jb51.net">
      • 格式: <meta http-equiv="refresh" content="时间;url=网址参数">
    • 值 “refresh” 应该 慎重使用,因为它会使得 页面 不受用户控制。
⑥ 窗口 打开位置: window-target
  • window-target(显示窗口的设定)
  • 说明:强制页面 在当前窗口 以独立页面显示。
    • <metahttp-equiv="window-target" content="_top">
    • 用来防止 别人在框架里 调用自己的页面。

⑦ 请求和响应的 缓存机制: cache-control
  • 缓存机制: cache-control指定 请求和响应 遵循的缓存机制。
    • 在 请求消息 或响应消息中 设置cache-control, 并不会修改 另一个消息处理过程中的 缓存处理过程。
    • 请求时的 缓存指令: 包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached
    • 响应消息中的 指令: 包括 public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。指令含义, 如下
      • public
        • 指示响应 可被 任何缓存区 缓存
      • private
        • 指示 对于单个用户的 整个或部分 响应消息,不能被 共享缓存 处理。
        • 这允许 服务器 仅仅描述当前用户的 部分响应消息,此响应消息 对于其他用户的请求无效 .
      • no-cache
        • 指示 请求或响应消息 不能 缓存
      • no-store
        • 用于防止 重要的信息 被无意的发布。在请求消息中 发送将使得 请求和响应消息都 不使用 缓存
      • max-age
        • 指示 客户机 可以接收生存期 不大于指定时间(以秒为单位)的响应
      • min-fresh
        • 指示 客户机 可以接收响应时间 小于当前时间 加上指定时间的响应
      • max-stale
        • 指示客户机 可以接收 超出 超时期间的响应消息。如果指定max-stale消息的值,那么客户机 可以接收超出超时期 指定值之内的响应消息。

⑧ 图片工具栏的 显示: imagetoolbar
  • http-equiv="imagetoolbar"
    • <metahttp-equiv="imagetoolbar" content="false"/>
  • 指定 是否显示 图片工具栏,当为false 代表 不显示,当为 true 代表显示。
⑨ 文档的 脚本类型 : content-script-type
  • content-script-type
    • <meta http-equiv="content-script-type" content="text/JavaScript">
    • W3C 网页规范,指明页面中 脚本的类型。

⑩ 设置 缓存: set-cookie (已废弃,用 HTTP 的 Set-Cookie 头部)
  • 设置缓存: meta-http-quiv="set-cookie" 已过时
    • 为页面定义cookie。其内容必须遵循 IETF HTTP Cookie 规范 中定义的语法。
    • 如果 网页过期,那么存盘的 cookie 将被删除。
      • 用法:<metahttp-equiv="Set-Cookie" content="cookievalue=xxx;expires=Friday,12-Jan-200118:18:18GMT;path=/">
      • 注意:必须使用GMT的时间格式。
    • Note: 警告:请勿使用 此说明,因为它已过时。请改用 HTTP 的 Set-Cookie 头部。

⑪ 文档 默认语言: content-language (已废弃,html 标签的 lang 属性 替代)
  • 文档 默认语言: meta-http-quiv="content-language"已过时
    • 这个指令 定义 页面使用的默认语言.
    • 使用方式: 不要使用 这个指令,因为它已经过时了。
    • 替代标签: 使用<html>元素上 全局的 语言 lang 属性 来替代它.
⑫ 文档 MIME type: content-type (已废弃, 用 charset 属性 替代)
  • 文档的 MIME type: meta-http-quiv="content-type" ,已过时
    • 这个属性定义了 文档的 MIME type , 实际上由它的 字符编码决定。
    • 属性搭配: http-quiv,content,charset
    • 它遵循与 HTTPcontent-type头部字段 相同的语法, 但由于它位于 HTML 页面内,因此除了text /html之外的 大多数值都不能使用。 因此,其content的有效语法是字符串'text /html'
      • 废弃原因: 只有 HTML 文档 可以使用content-type,所以大部分内容都是多余的:这就是为什么 它被废弃 并被charset属性 替换的原因。
    • 替代属性:
      • 后跟一个 具有以下语法的字符集:’; charset=IANAcharset,其中IANAcharset是 IANA 定义的 字符集的 首选MIME名称
      • 一般是 charset="utf-8"
    • 总结: 不要使用 , 因为它已过时。使用<meta>元素的charset属性 代替,定义meta-charset字符编码 就可以了,不用定义 http-quiv="content-type,content"多此一举.

⑬ ★ IE 浏览器 (解析网页时) 使用的文档模式: X-UA-Compatible

⑶ name 属性: 元数据的 名称 (搭配 content 属性)
  • <meta> 元信息 标签 的 name 名称 属性
    • 元数据的 名称
      • 如何提供 名称/值对中 的 名称 ?
        • 使用 meta-name名称 属性
      • name的特殊语义: 全局属性 name<meta>元素中 具有特殊的语义;
        • 该属性定义 文档级元数据的名称
      • 冲突的 4个属性,不能 同时使用:
        • 如果以下 其中一个属性设置了itemprop, http-equiv or charset ,就不能设置这个属性了。
        • 同理, 在同一个 <meta>标签中,name, http-equiv或者 charset三者中任何一个属性 存在时,itemprop 属性 不能被使用。
    • HTML 和 XHTML 标签 , 都没有指定meta-name名称属性的属性值
      • 没有任何预先定义 的 name名称属性的属性值
    • name名称属性的属性值怎么写 ?
      • 可以自由使用 对自己和源文档的读者来说 富有意义的名称,就是 meta-name名称属性的属性值。
    • 如何为文档 定义 一组关键字。
      • 使用 name="keywords"
      • 关键字 有什么作用 ?
        • (某些搜索引擎 在遇到这些关键字时) 会用 这些关键字 对 文档进行 分类(分类文档)。
<meta name="keywords" content="HTML,ASP,PHP,SQL">
  • 如果没有提供 meta-name 属性 , 名称/值对 中的名称 会采用什么呢 ?
    • meta-http-equiv http 头部属性 的值。
  • <meta>元信息 标签中的 值对的搭配使用
    • 搭配属性: meta-content 内容属性,作为: 值
    • meta- name 名称属性 和 meta-http-equiv http 头部信息 作为: 名称,和 content 在一起 搭配使用.

★ 元数据的 名称 name 的 常用值
  • meta-name的属性值
    • 元数据名称 meta-namecontent属性包含的值 相关联。name属性的可能值为:
① (文档上 运行的) 应用名称: application-name
  • ( 在该网页上 运行的) 应用名称: meta-name="application-name";
    • 区分应用: 浏览器 可能会 通过使用该属性 去区分应用
    • 通常由 应用程序名称组成,但也可能包含 特定的信息,如文档名称 或状态;
    • 简单的网页 不应该去定义application-name 属性值的 meta 标签。
② 文档 作者名称: author
  • 文档 作者名称: meta-name="author";
    • 这个文档的 作者名称,可以用 自由的格式 去定义;
    • w3school的 作者名称:
      • <meta name="author" content="w3school.com.cn" />
③ 文档内容的 描述: description
  • 页面内容的 描述: meta-name="description";
    • 其中包含 页面内容的 简短和精确的描述。
    • 用作书签默认描述: 一些浏览器,如 Firefox 和Opera,将其用作 书签页面的默认描述。
    • 淘宝网的 文档内容描述:
      • <meta name="description" content="淘宝网 - 亚洲较大的网上交易平台,提供各类服饰、美容、家居、数码、话费/点卡充值… 数亿优质商品,同时提供担保交易(先收货后付款)等安全交易保障服务,并由商家提供退货承诺、破损补寄等消费者保障服务,让你安心享受网上购物乐趣!" />
④ 生成文档的 编辑器: generator
  • 生成文档的 编辑器: meta-name="generator";
    • 包含 生成页面的软件 的标识符。
⑤ 文档内容的 关键词: keywords
  • 文档内容的 关键词: meta-name="keywords";
    • 逗号分隔的 页面内容相关的 关键单词。
    • 例如,淘宝网的 关键词:
      • <meta name="keyword" content="淘宝,掏宝,网上购物,C2C,在线交易,交易市场,网上交易,交易市场,网上买,网上卖,购物网站,团购,网上贸易,安全购物,电子商务,放心买,供应,买卖信息,网店,一口价,拍卖,网上开店,网络购物,打折,免费开店,网购,频道,店铺" />
⑥HTTP Referer 首部的内容: referrer (实验中 属性值,不要使用)
  • !!! HTTP Referer 首部的内容: meta-name="referrer";实验中的属性值,暂时不要使用
    • 控制 所有从该文档发出的 HTTP 请求中 HTTP Referer 首部的内容:
⑦ 创建者 名称: creator (可以是 机构名称)
  • 创建者的 名称: meta-name="creator";
    • 以自由格式定义文档 创建者的名称。
    • 注意,它可以是 机构的名称。如果有多个,应该使用几个<meta>元素
⑧ 谷歌 索引爬虫: googlebot
  • 谷歌 索引爬虫: meta-name="googlebot";
    • 这是机器人的同义词,但后面只有 Googlebot,谷歌的索引爬虫 crawler ['krɔlɚ];
⑨ 发布者名称: publisher (可以是 机构名称)
  • 发布者的 名称: meta-name="publisher";
    • 以自由格式 定义文档 发布者的名称。注意,它可以是 机构的名称.
⑩ 爬虫程序 行为: robots
  • 爬虫程序 行为: meta-name="robots";
  • 定义 协作爬虫程序 应该具有的 页面行为。
    • 它是一个 以逗号分隔的 列表,其中的值 取自以下列表:
  • <meta name="robots">搭配的 content的属性值
属性值描述用于
index允许 索引. 允许 爬虫 索引页面All
noindex阻止 索引. 阻止 爬虫 索引页面All
follow允许 跟踪 链接. 允许 爬虫 跟踪页面上的链接All
nofollow阻止 跟踪 . 阻止爬虫 跟踪页面上的链接All
noodp防止使用 打开目录项目描述(如果有的话) 作为 搜索引擎结果页面中的 页面描述Google, Yahoo, Bing
noarchive防止 缓存(存档). 防止 搜索引擎 缓存页面的内容Google, Yahoo
nosnippet防止 在搜索引擎结果页中 显示页面的任何描述Google
noimageindex防止 该页作为 索引图像的引用页 出现Google
noydir防止使用 Yahoo目录描述(如果有的话)作为 搜索引擎结果页面中的 页面描述Yahoo
nocache防止 缓存(存档). 和 noarchive 同义Bing

⑪ 爬虫程序行为: slurp (仅用于Yahoo Search )
  • 同上一个 爬虫程序行为: meta-name="slurp";
    • robots一样, 但其 仅使用于 Slurp -- Yahoo Search 的抓取工具。
    • slurp ,美 /slɜːrp/
⑫ 窗口宽高 和缩放比例: viewport
  • 窗口宽高 和缩放比例: meta-name="viewport";
    • 它提供 有关 窗口 初始大小的提示,仅供 移动设备使用。
    • <meta name="viewport">搭配的content属性值
Value可能值描述
① width一个 正整数或者 字符串 device-width宽度: 以 pixels(像素)为单位, 定义viewport(视口)的宽度。
② height一个 正整数或者字符串 device-height高度: 以 pixels(像素)为单位, 定义viewport(视口)的高度。
③ initial-scale一个 0.0 到10.0之间的正数缩放比例: 定义 设备宽度(纵向模式下的设备宽度 或横向模式下的设备高度)与视口大小之间的 初始缩放比率。
④ maximum-scale一个 0.0 到10.0之间的正数最大缩放比例: 定义缩放的最大值;它必须 大于或等于minimum-scale的值,不然会导致不确定的行为发生。
⑤ minimum-scale一个 0.0 到10.0之间的正数最小缩放比例: 定义缩放的最小值;它必须 小于或等于maximum-scale的值,不然会导致不确定的行为发生。
⑥ user-scalable一个布尔值(yes 或者no)用户 手动缩放: 如果设置为 no,用户将 不能放大或缩小网页。默认值为 yes。
  • 缩放和使用: 通过将user-scalable设置为no禁用缩放 功能,会妨碍 视力低下的人 阅读和理解页面内容。

  • 示例1: MDN 网站 使用的 窗口, 机器人爬虫
    • 宽度: 设备宽度;
      • 设备宽度(纵向模式下的设备宽度 或横向模式下的设备高度)与视口大小之间的 缩放比率 为1;
    • 允许 爬虫 索引页面, 允许 爬虫 跟踪页面上的链接
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="robots" content="index, follow">

在这里插入图片描述


⑷ scheme 属性: 解释 content 内容值的 方案 (已废弃)
  • <meta> 元信息 标签 的 scheme 方案 属性[已过时]
    • scheme
      • [skim]
      • 计划,方案
    • 解释content内容值的 方案
      • 如何指定方案 ?
        • 使用 meta-scheme方案 属性
    • 此方案
      • 如何指定用来 翻译 属性值的方案 ?
        • 使用 meta-scheme方案 属性
        • 此属性定义 描述元数据的方案。方案是 正确解释content内容值(如格式)的内容
      • meta-scheme方案 属性的方案的 定义在哪里 ?
        • <head> 头部标签的 profile配置文件 属性 指定,成为配置文件,或概况文件.
          • head的这个 配置文件属性 也已经废弃了.
      • 使用说明:
        • 不要使用: 不要使用这个属性,因为它 已经过时了。它没有替代品,因为它没有真正的用途。完全忽略它。

⑸ charset 属性: 文档的 字符编码 (一定要设置,推荐 utf-8 属性值)
  • <meta> 元信息 标签 的 charset 字符编码 属性
    • 文档 字符编码和覆盖:
      • 声明 当前文档所使用的 字符编码.
    • meta-charset的属性值:
      • 字符编码 名称: 此特性的值 必须是一个 符合由 IANA 所定义 的 字符编码 首选 MIME 名称(preferred MIME name )之一。
        • IANA: 互联网 地址编码分配 机构(Internet Assigned Numbers Authority)
    • 字符编码 使用说明: 尽管 标准 不要求必须使用 某些特定的字符编码,但它还是给出了一些建议:
      • utf-8: 鼓励使用 UTF-8
        • utf-8 为万国码 支持所有语言字符
      • 不能使用和安全风险:
        • 不应该使用 不兼容ASCII 的编码规范, 以避免 不必要的安全风险
          • 浏览器不支持他们 (这些不规范的编码)可 能会 导致浏览器渲染 html 出错. 比如JIS_C6226-1983, JIS_X0212-1990, HZ-GB-2312, JOHAB,ISO-2022 系列,EBCDIC系列 等文字
      • 必须禁用 和跨站脚本攻击:
        • 开发者必须禁用 CESU-8, UTF-7, BOCU-1SCSU这些字符集,因为这些字符集 已经被证实 存在跨站脚本攻击(XSS)的风险。
      • 避免使用:
        • 发者应 尽量避免 使用 UTF-32 字符集对网页 进行编码,因为不是所有的 HTML5 编码算法, 能够将其与 UTF-16 编码 区分开来。
      • 声明 和 保存 相匹配:
        • 文档内 声明的字符编码 , 必须与 页面保存时 所使用的编码 相匹配,以避免乱码和安全漏洞.
      • <meta> 元素的位置:
        • <meta> 元素必须包含在 <head>元素中 ,并且在HTML代码的 前 1024 个字节内,因为某些浏览器 在选择编码之前 只查看前面这些字节。
        • 尽量靠前: 所以,文档的字符编码 越早定义 越好,位置 尽量靠前.
      • 优先级:
        • <meta>元素只是 确定字符集的 算法中的一部分。
        • HTTPContent-Type头部 以及任何 Byte-Order Marks元素 都优先于此元素。
      • 定义字符集的必要性 和网页脚本风险: 强烈建议 使用该 meta-charset 字符集 属性定义 字符编码.
        • 如果未定义,某些 跨脚本技术 可能危害网页,如 UTF-7 fallback cross-scripting technique. 保持 设置该属性 以避免类似风险。
      • 另一种 定义方式:
        • <meta>元素 的charset属性 和以下 HTML5 内容 <meta http-equiv="Content-Type" content="text/html; charset=IANAcharset">等效
        • 其中, 在 content属性值中定义 字符编码, IANAcharset = charset的属性值。
      • 后者的语法 仍然是允许的,但是 不再推荐。
  • 涉及的 常用字符编码
    • gb2312,采用的编码是 简体中文
    • big5,采用的编码是 繁体中文; 港澳台使用.
    • iso-2022-jp,采用的编码是 日文
    • ks_c_5601,采用的编码是 韩文
    • iso-8859-1,采用的编码是 英文
    • ⑥ ★ utf-8世界通用 的语言编码; (推荐使用的字 符编码)
      • 包含全世界 所有国家 需要用到的字符
        • 强烈推荐 utf-8字符编码,可以很有效的预防,因为字符编码 设置不同,而出现 字符乱码的情况.
        • 在这里插入图片描述
        • 不设置 charset属性,也很可能出现 乱码的情况,所以这个属性,一定要设置,而且,最好设置为 charset="utf-8", 最大限度 避免出现乱码.
      • 淘宝网,MDN, 用的都是这个字符编码:<meta charset="utf-8" />
    • gbk : gb2312一般是 简体中文,gbk 在简体中文的范围上 扩展了 繁体中文.适合香港台湾.
      • w3school 用是这个编码: <meta charset="gbk" />

  • 总结: 元数据的种类
  • 根据<meta>的不同属性,元数据的类型 可以是以下类型之一:
    • 整个页面: meta-name:
      • 如果设置了name,则它是 文档级 元数据,应用于 整个页面。
    • 如何 服务页面: meta-http-equiv
      • 如果设置了http-equiv,它就是一个指令——通常由 web服务器提供 关于如何服务 web 页面的信息。(发送文档前,传送给浏览器参考的 值对,更精确 显示网页)
    • 字符编码: meta-charset
      • 如果设置了charset字符集,则它是一个字符集 声明—网页使用的 字符编码。
    • 用户 元数据: meta-itemprop(实验中的属性,不能工作中使用)
      • 如果设置了itemprop,则它是 用户定义的元数据——对于用户代理来说 是透明的,因为元数据的语义 是特定于用户的.

  • 示例1: <meta> 元数据 标签的使用
<!-- 定义HTML4中的字符集 Defining the charset in HTML4 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<!-- 在 HTML5 中定义字符集,更简洁 In HTML5 -->
<meta charset="utf-8">

<!-- 3秒后重定向页面 Redirect page after 3 seconds -->
<meta http-equiv="refresh" content="3;url=http://www.mozilla.org/">
  • 问题:重定向 有些 不利于 有视力问题的人
    • 使用refresh 值设置的页面 存在时间间隔过短的风险。使用辅助技术(如屏幕阅读器)导航的人 可能无法在自动重定向之前 阅读和理解页面内容。
    • 突然的、未经宣布的页面内容更新 也可能让视力低下的人 感到困惑。

1.4 ★ base 指定 所有链接的 基础地址 或 打开位置 (搭配 href,target 属性)

  • 指定 所有链接的 默认地址 或 打开位置
    • 如何为 页面上的 所有链接 规定默认地址 或 默认打开位置 ?
      • 使用<base>基准url或目标 标签
        • 基本 url: HTML <base> 元素 用于 文档中包含的 所有 相对url 的 基本url
        • 所有相对 URL 的根 UR
        • 仅限 一个: 一个文档中 只能 有 一个<base>元素。
          • 选择 第一个: 如果使用 多个<base>元素,则只遵从 第一个 href 和 第一个打开位置target —其他所有元素 都被忽略。
        • 查询: 一个文档的 基本 URL, 可以通过 使用 document.baseURI的 JS 脚本查询。
        • 限定 父元素: 任何 不带有任何其他 <base>元素的 <head>元素
  • 让浏览器 使用 指定的基本 URL, 来 解析 所有的相对 URL
    • 使用 <base> 基准url 或打开位置 标签
    • 影响到的 标签
      • <a>链接href
      • <img>图片 src
      • <link>链接 href
      • <form> 标签中的 URL。
    • 不影响: Open Graph 标记 不识别<base>,并且应该 始终具有 完整的绝对url。
      • og: Open Graph, 例如:
        • <meta property="og:image" content="https://example.com/thumbnail.jpg">
  • 使用说明
    • 限定 位置: <base> 基准url 或目标 标签 必须位于 什么位置 ?
      • 文档头部 <head> 元素的内部。
  • 正确 关闭: <base> 基准url 或打开位置 标签 , HTML 与 XHTML 之间的差异
    • 在 HTML 中,<base> 基准url 或目标 标签 没有结束标签;
    • 在 XHTML 中,<base>基准url 或目标 标签 必须被正确地关闭。

1.4.1 base 基础 url 或 打开位置 标签 的属性

  • 必需的属性
属性名属性值用于
href= URL规定页面中 所有相对链接的 基准 URL

  • 可选的属性
属性名属性值用于
target=_blank , _parent , _self , _top , framename链接 打开位置何处打开 页面中 所有的链接。

  • 把 基准url ,规定为 url=http://www.w3school.com.cn/i/
    • base-href=url

  • 示例1: 把链接打开的目标位置,规定为 新窗口中打开
    • base-target="_blank"
    • 淘宝网 使用的就是这个,在新窗口中 打开链接 <base target="_blank" />,作为 head 的 最后一个元素.
      • 在这里插入图片描述
<head>
	<base href="http://www.w3school.com.cn/i/" />
	<base target="_blank" />
</head>

<body>
	<img src="eg_smile.gif" /><br />
	<p>请注意,我们已经为图像规定了一个相对地址。由于我们已经在 head 部分规定了一个基准 URL,浏览器将在如下地址寻找图片:</p>
	<p>"http://www.w3school.com.cn/i/eg_smile.gif"</p>
	
	<br /><br />
	<p><a href="http://www.w3school.com.cn">W3School</a></p>
	<p>请注意,链接会在 新窗口中打开,即使链接中没有 target="_blank" 属性。这是因为 base 元素的 target 属性已经被设置为 "_blank" 了。</p>

</body>
  • url 添加: 自动把 基础url,添加到 相对url上.

⑴ href 属性: 所有链接的 基础 url (必需 属性)
  • <base> 基准url 或目标 标签的 href 超链接 属性

    • 链接的 基础 url

      • 如何规定页面中 所有相对链接的 基准 URL 为绝对 url ?
        • 使用 base-href 超链接属性
          • abbr. 超文本引用(hypertext reference);
        • 基础 url: 用于文档中 相对 URL 地址的 基础 URL。
        • 位置: 如果指定了 该属性,这个元素必须 写在 其他任何属性值是 URL 的元素之前。允许 绝对和相对URL.
        • 使用优先: 如果指定了 多个<base>元素,只会使用 第一个 hreftarget 值, 其余都会被忽略。
    • <base> 基准url 或目标打开位置 标签的 href 超链接 属性的属性值

      • URL
        • 作为 基准 URL 的 绝对 URL
        • (比如 “http://www.example.com/”)。
  • 特别: <meta>标签 不承认基本url,并应始终有 完整的 url。例如:

<meta property='og:image' content='http://example.com/thumbnail.jpg'>

⑵ target 属性: 所有链接的 打开位置
  • <base> 基准 url 或目标 标签的 target 目标 打开位置 属性
  • 用于
    • 如何规定 在 何处打开 页面上的 所有链接 ?
      • 使用 target 目标位置 属性
      • 默认显示 位置: 指定 显示结果的默认位置
      • 位置: 如果指定了 此属性,则此元素必须位于 具有值为 url 的属性 的任何其他元素 之前

  • target目标属性的 属性值
属性值用于
_blank新窗口中 打开被链接文档。
_self默认值。在相同的框架中 ,打开被链接文档。
_parent父框架集中 打开被链接文档。如果没有父选项,则此选项的行为与_self相同。
_top整个窗口中 打开被链接文档。(覆盖当前的窗口)加载到顶级框架中,没有父元素的祖先的位置.如果没有父选项,则此选项的行为与_self相同。
framename指定的框架中 打开被链接文档。

  • 示例1: 为页面上 所有相对 URL 规定基准 URL
  • 为页面上 所有链接 规定默认目标打开位置
<head>
	<base href="http://www.w3school.com.cn/i/" />
	<base target="_blank" />
</head>

<body>
	<img src="eg_smile.gif" /><br />
	<p>请注意,我们已经为图像规定了一个相对地址。由于我们已经在 head 部分规定了一个基准 URL,浏览器将在如下地址寻找图片:</p>
	<p>"http://www.w3school.com.cn/i/eg_smile.gif"</p>
</body>

  • 示例2: Anchor tags <a><base>的搭配使用

  • 例如,给定这个基本URL:

    • <base href="http://www.example.com/">
    • … 和这个<a>标签:
      • <a href="#anchor">Anker</a>
    • … 链接指向:
      • http://www.example.com/#anchor
      • 自动添加: 自动给a-href添加上 基本url

  • 示例3: 指定显示位置和基础url
<base href="http://www.example.com/">
<base target="_blank" href="http://www.example.com/">
  • 可以分开指定href,target,也可以在一个<base>中指定两个属性

1.5 ★ basefont 设置 默认 文本颜色,字体和字体大小 (已废弃)

  • 基础 文本颜色,字体 和 字体大小
    • 使用<basefont>基准字体 标签 [已废弃]
      • 基本 字体 : (<basefont>)为其 父元素派生的其他元素 设置 默认字体、大小和颜色
      • 有了这个设置,就可以使用 字体<font>元素来更改字体的大小,使之相对于基本大小有所不同。
  • 已过时 不要使用: 这个特性已经过时了。
    • 尽管它在一些浏览器中 仍然可以工作,但它的使用 是不被鼓励的,因为它可以 随时被删除。尽量避免使用它。
      • 不要再使用 这个标签! 尽管在HTML 3.2中曾经(不严格地)标准化,但是 它并不被主流的浏览器所支持。
        • 而且,不同的浏览器、甚至同一浏览器的 相邻版本,都没有使用 相同的实现方式; 实际上,使用这个标签 总是导致不确定的结果。
    • 从HTML 4起,HTML 不再传递 样式信息(除<style>元素和 所有元素的style属性 内容外)。
  • 替代的 css: 应该使用 CSS 属性
    • (如font, font-family, font-size, ,color)来更改元素内容的 字体配置。
  • basefont 标签的 浏览器支持
    • 只有 IE 支持 <basefont>基准字体 标签。
    • 应该 避免使用该标签,浏览器 基本上 都不支持这个标签了.
    • 在这里插入图片描述
  • 已废弃: HTML 与 XHTML 之间的差异
    • 在 HTML 4.01 中,不赞成 使用 basefont 元素;
    • 在 XHTML 1.0 Strict DTD 中,不支持 basefont 元素。

1.5.1 basefont 标签 可选的属性

属性名属性值用于
colorrgb(x,x,x) , #xxxxxx , colorname不赞成使用。请使用样式取代它。规定文档中的 默认文本颜色
facefont_family不赞成使用。请使用样式取代它。规定文档中的 默认字体
sizenumber不赞成使用。请使用样式取代它。规定文档中的 默认字体大小。使用数值或者相对值。数值值域为1~7,1最小,默认值为3。
  • 示例1: 规定页面上的 默认 字体 颜色和 字号:
<head>
	<basefont color="red" size="5" />
</head>

<body>
	<h1>This is a header</h1>
	<p>This is a paragraph</p>
</body>

在这里插入图片描述


结束语

  • 捐助: 喜欢这篇文章吗? 持续更新中,捐助此文,向团团 表示鼓励和支持吧~❤
    在这里插入图片描述
  • 捐助二维码:
    在这里插入图片描述

  • 参考文档
  • 感谢:♥♥♥ 如果这篇文章 对您有帮助的话,可以点赞、评论、关注,鼓励下作者哦,感谢阅读 ~
  • 欢迎指正: 如果发现 有需要 更正的细节问题,欢迎指正,谢谢大家 ~╮( ̄▽ ̄)╭

  • 转载 请注明出处 ,Thanks♪(・ω・)ノ
    • 作者:Hey_Coder
    • 来源:CSDN
    • 原文:https://blog.csdn.net/VickyTsai/article/details/89422277
    • 版权声明:本文为博主原创文章,转载请附上博文链接!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值