当前位置: 首页 > Web前端 > HTML

HTMLmeta详解

时间:2023-04-02 23:45:50 HTML

文章同步于GithubPines-Cheng/blog介绍Meta标签是HTML语言HEAD区域的辅助标签。Meta通常用于定义页面的描述、关键字、最后修改日期和其他元数据。此元数据将为浏览器(如何布局或重新加载页面)、搜索引擎和其他网络服务提供服务。mata标签包含全局属性charset来声明网页的字符编码:contentcontent属性的内容是htp-equiv或name属性的值,具体取决于哪个你用的一个。http-equiv该属性可以包含HTTP头的名称,该属性的英文全称是http-equivalent。它定义了可以改变服务器和用户代理行为的指令。该指令的值在content属性中定义,可以是以下之一:content-language(过时)定义页面的默认语言。它可以被任何元素上的lang属性覆盖。Pragma阻止浏览器访问本地计算机缓存中的页面内容。例如:expires可以用来设置网页的过期时间。网页一旦过期,必须重新传输到服务器。缓存控制指定请求和响应遵循的缓存机制。有几种用法:no-cache:先发送请求,向服务器查询资源是否有变化,没有变化则使用缓存。no-store:不允许缓存,每次都要去服务器下载完整的响应。(安全措施)public:所有响应都被缓存,但不是必需的。因为max-age也可以达到private同样的效果:只为单个用户缓存,所以不允许relay缓存。(例如,CDN不允许缓存私有响应)max-age:表示在当前请求开始时响应可以被缓存和重用多长时间,而不需要去服务器重新请求。例如:max-age=60表示响应可以被缓存并再使用60秒。content-security-policy允许页面作者定义当前页面的内容策略。内容策略主要指定允许的服务器地址和脚本端点,这有助于防止跨站点脚本攻击。CSP的本质是白名单系统。开发者明确告诉客户端哪些外部资源可以加载执行,相当于提供了一个白名单。它的实现和执行全部由浏览器完成,开发者只需要提供配置即可。CSP大大增强了网页的安全性。即使攻击者发现了漏洞,他们也无法注入脚本,除非他们也获得了白名单中受信任主机的控制权。有两种方法可以启用CSP。一种是通过HTTP头信息的Content-Security-Policy字段。内容安全策略:脚本源“自我”;对象源“无”;style-srccdn.example.orgthird-party.org;child-srchttps:另一种是通过网页的标签。在上面的代码中,CSP做了如下配置:脚本:只信任当前域名标签:不信任任何URL,即不加载任何资源样式表:只信任cdn.example.organdthird-party.orgframework(frame):必须使用HTTPS协议加载其他资源:无限制启用后,不符合CSP的外部资源将被阻止加载。更多介绍参见:ContentSecurityPolicyGettingStartedTutorialcontent-type(废弃)定义文档的MIME类型,后面是它的字符编码。不要使用此值,因为它已过时。建议在元素上使用charset属性。由于不能改变XHTML或HTML5的XHTML序列化中的文档类型,所以不要使用设置MIME类型为XHTMLMIME类型。refresh指令规定:如果content属性只包含一个正整数,则表示页面重新加载的秒数。如果content属性包含一个正整数后跟字符串';url=',则表示当前页面在XX秒后被重定向到另一个有效的URL。//表示2秒后跳转到githubset-cookie(废弃)定义页面的cookie,对应的内容值必须符合IETFHTTPCookieSpecification。不要使用该指令。使用HTTP标头的Set-Cookie而不是X-UA-Compatible来告诉浏览器渲染页面的版本。//指定IE和Chrome使用最新版本渲染当前页面。name属性的定义属于文档级元数据,不能与:itemprop、http-equiv或charset一起设置。此元数据名称与内容属性中包含的值相关联。name属性的可能值有:application-name定义了网页中运行的应用程序的名称。author用于标记网页的作者。description包括对页面内容的简短但准确的描述。一些浏览器,例如Firefox和Opera,使用它作为网络书签的默认描述。生成器用于指示网页是由什么软件制作的。keywords用来告诉搜索引擎你的网页的关键字revisit-after不经常更新。为了减轻搜索引擎爬虫对服务器的压力,可以设置一个爬虫重访时间。如果重访时间过短,爬虫会按照自己定义的默认时间进行访问。示例:rendererrenderer是为双核浏览器准备的,用于指定双核浏览器默认如何渲染页面。例如,360浏览器。例子://默认webkit内核//默认IE兼容模式//默认IE标准模式referrerreferrer控制文档发起的Request附带的RefererHTTP头,对应的值在content中:content表示no-referrer不发送HTTPReferer头origin发送文档的originno-referrer-when-downgrade将origin作为引用发送到与当前页面一样安全的URL(https->https),??但不会将origin发送到不安全的URL(https->http)。这是默认行为。origin-when-crossoriginsame-origin请求,发送完整的URL(去掉参数),但在其他情况下只发送originunsafe-URLsame-origin或跨域请求,将发送完整的URL(去掉参数)robotsrobotsusesTellthe爬虫将哪些页面编入索引,哪些页面不编入索引。值说明UsedByindex允许机器人索引该页面(默认)Allnoindex不允许机器人索引该页面Allfollow允许搜索引擎通过该网页的链接索引继续搜索其他网页(默认)Allnofollow搜索引擎不继续搜索通过本网页的链接索引搜索其他网页Allnone相当于noindex,nofollowGooglenoodp禁止在搜索引擎结果中使用OpenDirectory项目描述(如果有)作为页面描述。Google、Yahoo、Bingnoarchive要求搜索引擎不要缓存页面内容Google、Yahoo、Bingnosnippet禁止在搜索引擎结果中显示页面的任何描述。Google、Bingnoimageindex要求此页面不得显示为引用页面的索引图像。Googlenocache和noarchive是Bingviewport的同义词,提供有关视口初始大小的提示。仅供移动使用。值内容采用描述宽度整数或设备宽度的值定义视口的像素宽度,或允许视口适合设备的屏幕宽度。heightinteger或device-height定义视口的高度。没有浏览器使用(???)initial-scale0.0-10.0来定义设备宽度(纵向模式下的设备宽度或横向模式下的设备高度)与视口大小之间的比率。maximum-scale0.0-10.0定义最大缩放级别。必须大于等于minimum-scale,否则认为未定义。浏览器设置可以忽略这条规则,iOS10+默认忽略。minimum-scale0.0-10.0定义最小缩放级别。它必须小于或等于maximum-scale,否则被认为是未定义的。浏览器设置可以忽略这条规则,iOS10+默认忽略。user-scalableyesorno如果设置为no,用户将无法放大页面。默认值为是。浏览器设置可以忽略这条规则,iOS10+默认忽略。常用禁止缩放:自动刷新网页可以设置一段时间后刷新页面。metahttp-equiv="refresh"可以指定浏览器在延迟一段时间后自动刷新页面。以下元标记指定浏览器每5秒自动刷新一次。自动重定向我们可以使用刷新元标记来重定向页面。下面的例子会在5秒后访问www.25xt.com禁止浏览器缓存当我们测试时本地网页,如果没有及时更新新内容,可能存在浏览器缓存。这时候我们可以通过使用Meta标签禁用浏览器缓存来解决。大致代码如下:禁止百度转码移动开发中,屏蔽号码为电话号码的代码:参考MDNHTML元素