HTML中meta标签中属性详解并设置页面缓存策略

简介: HTML中meta标签中属性详解并设置页面缓存策略

【1】简介


<meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。


<meta> 标签位于文档的头部,不包含任何内容。<meta> 标签的属性定义了与文档相关联的名称/值对。


该标签主要有两个属性:http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。

① 控制页面不被缓存

<!-- HTTP 1.1 -->
<meta http-equiv="pragma" content="no-cache">
<!-- HTTP 1.0 -->
<meta http-equiv="cache-control" content="no-cache">
<!-- Prevent caching at the proxy server -->
<meta http-equiv="expires" content="0">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />


【2】http-equiv属性


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


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


使用带有 http-equiv 属性的 <meta> 标签时,服务器将把名称/值对添加到发送给浏览器的内容头部

————————————————

① Content-type(显示字符集设定)

说明:设置网页编码格式告诉浏览器使用何种编码进行解码。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


具体如下:


meta标签的charset的信息参数如GB2312时,代表说明网站是采用的编码是简体中文;


meta标签的charset的信息参数如BIG5时,代表说明网站是采用的编码是繁体中文;


meta标签的charset的信息参数如iso-2022-jp时,代表说明网站是采用的编码是日文;


meta标签的charset的信息参数如ks_c_5601时,代表说明网站是采用的编码是韩文;


meta标签的charset的信息参数如ISO-8859-1时,代表说明网站是采用的编码是英文;


meta标签的charset的信息参数如UTF-8时,代表世界通用的语言编码;content-Language(显示语言的设定)

<meta http-equiv="Content-Language"content="zh-cn"/>


②Expires(期限)

说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。

<meta http-equiv="Expires" content="-10"/>


③ Pragma(cache模式)

说明:禁止浏览器从本地计算机的缓存中访问页面内容。

<meta http-equiv="Pragma" content="no-cache" />


④ Cache-Control

说明:Cache-Control指定请求和响应遵循的缓存机制。

<meta http-equiv="Cache-Control" content="no-cache"/>


在请求消息或响应消息中设置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消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。


⑤ Refresh(刷新)

说明:自动刷新并指向新页面。

一秒刷新页面一次

response.setHeader("refresh","1");



二秒跳到其他页面

response.setHeader("refresh","2;URL=otherPagename");


效果同下:

<meta http-equiv="refresh" content="5;url=http://www.w3school.com.cn" />


⑥ Set-Cookie(cookie设定)

说明:如果网页过期,那么存盘的cookie将被删除。

<meta http-equiv=set-cookie content="testcookie" />

⑦ Window-target(显示窗口的设定)

说明:强制页面在当前窗口以独立页面显示。

<meta http-equiv="Window-target"content="_top">


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


⑧ X-UA-Compatible

说明: IE8的专用标记,用来指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式,以此来解决部分兼容问题。

<meta http-equiv="X-UA-Compatible" content="IE=7">


以上代码告诉IE浏览器,无论是否用DTD声明文档标准,IE8/9都会以IE7引擎来渲染页面。

<meta http-equiv="X-UA-Compatible" content="IE=8">

以上代码告诉IE浏览器,IE8/9都会以IE8引擎来渲染页面。

<meta http-equiv="X-UA-Compatible" content="IE=edge">



以上代码告诉IE浏览器,IE8/9及以后的版本都会以最高版本IE来渲染页面。

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


以上代码IE=edge告诉IE使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame.


PS:谷歌添加一个插件:Google Chrome Frame(谷歌内嵌浏览器框架GCF),这个插件可以让用户的IE浏览器外不变,但用户在浏览网页时,实际上使用的是Google Chrome浏览器内核,而且支持IE6、7、8等多个版本的IE浏览器。

【3】name属性

name 属性提供了名称/值对中的名称。HTML 和 XHTML 标签都没有指定任何预先定义的 <meta> 名称。即,可以自由使用对自己来说富有意义的名称。


① Keywords(关键字)

说明:keywords用来告诉搜索引擎你网页的关键字是什么。

某些搜索引擎在遇到这些关键字时,会用这些关键字对文档进行分类。

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

② description(网站内容描述)

说明:description用来告诉搜索引擎你的网站主要内容。

<meta name="description"content="meta是html语言head区的一个辅助性标签。">

③ robots(机器人向导)

说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。


content的参数有all,none,index,noindex,follow,nofollow。默认是all。


<meta name="robots"content="none">  

具体参数如下:


信息参数为all:文件将被检索,且页面上的链接可以被查询;


信息参数为none:文件将不被检索,且页面上的链接不可以被查询;


信息参数为index:文件将被检索;


信息参数为follow:页面上的链接可以被查询;


信息参数为noindex:文件将不被检索,但页面上的链接可以被查询;


信息参数为nofollow:文件将被检索,但页面上的链接不可以被查询;

④ author(作者)

说明:标注网页的作者

<meta name="author"content="janus">

⑤ copyright

说明:网站版权信息

<meta name="copyright" content="本页版权 www.qidian.com 起点中文网所有。All Rights Reserved" />

⑥ revised

说明:网页文档的修改时间

<meta name="revised" content="设计网, 6/24/2015"/>

⑦ generator

说明:网站的采用的什么软件制作

<meta name="generator" content="Microsoft"/>

⑧ renderer

指定双核浏览器默认以何种方式渲染页面。

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

⑨ viewport

说明:用于控制页面缩放


<meta name="viewport" content="width=device-width, initial-scale=1, 
maximum-scale=1, minimum-scale=1, user-scalable=no">


目录
相关文章
|
11月前
|
缓存 负载均衡 网络协议
电商API接口性能优化技术揭秘:缓存策略与负载均衡详解
电商API接口性能优化是提升系统稳定性和用户体验的关键。本文聚焦缓存策略与负载均衡两大核心,详解其在电商业务中的实践。缓存策略涵盖本地、分布式及CDN缓存,通过全量或部分缓存设计和一致性维护,减少后端压力;负载均衡则利用反向代理、DNS轮询等技术,结合动态调整与冗余部署,提高吞吐量与可用性。文中引用大型及跨境电商平台案例,展示优化效果,强调持续监控与迭代的重要性,为电商企业提供了切实可行的性能优化路径。
|
缓存 搜索推荐 CDN
HTTP缓存策略的区别和解决的问题
总的来说,HTTP缓存策略是一种权衡,需要根据具体的应用场景和需求来选择合适的策略。理解和掌握这些策略,可以帮助我们更好地优化网页性能,提高用户的浏览体验。
305 11
|
数据采集 缓存 JavaScript
数据抓取的缓存策略:减少重复请求与资源消耗
本教程聚焦于提升爬虫效率与稳定性,通过结合缓存策略、代理IP技术(如爬虫代理)、Cookie和User-Agent设置,优化数据采集流程。以知乎为例,详细讲解如何抓取指定关键词的文章标题和内容。内容涵盖环境准备、代码实现、常见问题及解决方案,并提供延伸练习,帮助读者掌握高效爬虫技巧。适合具备Python基础的初学者,助你规避网站机制,顺利获取目标数据。
390 2
数据抓取的缓存策略:减少重复请求与资源消耗
|
11月前
|
存储 缓存
.NET 6中Startup.cs文件注入本地缓存策略与服务生命周期管理实践:AddTransient, AddScoped, AddSingleton。
记住,选择正确的服务生命周期并妥善管理它们是至关重要的,因为它们直接影响你的应用程序的性能和行为。就像一个成功的建筑工地,工具箱如果整理得当,工具选择和使用得当,工地的整体效率将会大大提高。
370 0
|
缓存 API C#
C# 一分钟浅谈:GraphQL 中的缓存策略
本文介绍了在现代 Web 应用中,随着数据复杂度的增加,GraphQL 作为一种更灵活的数据查询语言的重要性,以及如何通过缓存策略优化其性能。文章详细探讨了客户端缓存、网络层缓存和服务器端缓存的实现方法,并提供了 C# 示例代码,帮助开发者理解和应用这些技术。同时,文中还讨论了缓存设计中的常见问题及解决方案,如缓存键设计、缓存失效策略等,旨在提升应用的响应速度和稳定性。
268 13
|
移动开发 JavaScript 前端开发
HTML5 表单属性7
`pattern` 属性使用正则表达式验证 `&lt;input&gt;` 元素的值,适用于 `text`, `search`, `url`, `tel`, `email`, 和 `password` 类型。
|
移动开发 UED HTML5
HTML5 表单属性6
`min`、`max` 和 `step` 属性用于限制 `&lt;input&gt;` 标签中的数值或日期范围。例如,可以设置日期选择器的最早和最晚日期,或限制数字输入框的值范围。`multiple` 属性允许在 `&lt;input&gt;` 中选择多个值,适用于邮箱和文件类型。这些属性增强了表单控件的功能性和用户体验。
|
移动开发 数据安全/隐私保护 HTML5
HTML5 表单属性8
`required`属性确保表单提交前输入框不能为空,适用于多种类型的 `&lt;input&gt;` 标签,如文本、邮箱、密码等。`step`属性则用于指定输入域中合法数值的间隔,常与`max`和`min`属性配合使用,适用于数字、日期等类型。例如,设置`&lt;input type=&quot;number&quot; step=&quot;3&quot;&gt;`可使输入值以3为单位递增或递减。
|
存储 消息中间件 设计模式
缓存数据一致性策略如何分类?
数据库与缓存数据一致性问题的解决方案主要分为强一致性和最终一致性。强一致性通过分布式锁或分布式事务确保每次写入后数据立即一致,适合高要求场景,但性能开销大。最终一致性允许短暂延迟,常用方案包括Cache-Aside(先更新DB再删缓存)、Read/Write-Through(读写穿透)和Write-Behind(异步写入)。延时双删策略通过两次删除缓存确保数据最终一致,适用于复杂业务场景。选择方案需根据系统复杂度和一致性要求权衡。
587 0
|
12月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?