html的meta,熟悉还是陌生?

对于html中的meta标签,相信大家是既熟悉又陌生,似乎自己做的页面中总有一两个那个标签,对他是一知半解也许不为过,大家比较熟悉的是keywords和description,因为常见的SEO教程都是这么告诉我们的,还有更多的吗?今天就让我们了解下吧。

meta是用来在HTML文档中模拟HTTP协议的响应头报文。

meta的属性主要分为三种:name,http-equiv,scheme。meta的标签的属性定义域文档相关联的

名称/值对。

对于页面的meta,可以用浏览器的"页面信息"方便查看,此处用firefox查看博客园作为演示(如下图):

image

常见meta说明:

name属性:

一直以为name属性是规定死的,只需要按照html标准指定的写就行了,细查了资料才发现,标准里面根本没有规定:

HTML 和 XHTML 标签都没有指定任何预先定义的 <meta> 名称。通常情况下,您可以自由使用对自己和源文档的读者来说富有意义的名称。

也就是说,你可以随意定义了

<meta name="随意,只要你觉得有意义" content="随意,只要你觉得有意义" />

"keywords" 是一个经常被用到的名称。它为文档定义了一组关键字。某些搜索引擎在遇到这些关键字时,会用这些关键字对文档进行分类。

类似这样的 meta 标签可能对于进入搜索引擎的索引有帮助:

<meta name="keywords" content="HTML,ASP,PHP,SQL"

如果没有提供 name 属性,那么名称/值对中的名称会采用 http-equiv 属性的值。

http-equiv 属性

http-equiv 属性为名称/值对提供了名称。并指示服务器在发送实际的文档之前先在要传送给浏览器的 MIME 文档头部包含名称/值对。

当服务器向浏览器发送文档时,会先发送许多名称/值对。虽然有些服务器会发送许多这种名称/值对,但是所有服务器都至少要发送一个:content-type:text/html。这将告诉浏览器准备接受一个 HTML 文档。

使用带有 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 2007

当然,只有浏览器可以接受这些附加的头部字段,并能以适当的方式使用它们时,这些字段才有意义。

content 属性

content 属性提供了名称/值对中的值。该值可以是任何有效的字符串。

content 属性始终要和 name 属性或 http-equiv 属性一起使用。

scheme 属性

scheme 属性用于指定要用来翻译属性值的方案。此方案应该在由 <head> 标签的 profile 属性指定的概况文件中进行了定义。

一些常见的应用:

1.重定向

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="Refresh"
content="5;url=http://www.google.com">
</head>

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

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

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

</body>
</html>

2.cookie设置过期时间

<meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT">

cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式;

3.防止别人iframe引用你的页面

<meta http-equiv="windows-Target" contect="_top">

强制页面在当前窗口中以独立页面显示,可以防止自己的网页被别人当作一个frame页调用;

4.指定对网络蜘蛛的权限

<meta name="robots" content="NONE" />

content的值可以为none,index,all,可以为多个值,以逗号分隔

原文地址:https://www.cnblogs.com/hyq/p/1891612.html