head 标签里有什么?

每一个 HTML 文档中,都有一个不可或缺的标签:<head> ,它作为一个容器,主要包含了用于描述 HTML 文档自身信息(元数据)的标签,这些标签一般不会在页面中被显示出来,大多情况下是给浏览器和搜索引擎看的。

可以用在 <head> 里面的标签有: <title> , <base> , <link> , <style> , <meta> , <script> , <noscript>

元信息标签介绍

<title>

定义文档的标题,显示在浏览器的标题栏或标签页上,一般会完整地概括整个网页的内容。

<base>

给页面上所有相对 URL 的提供一个基础。一份文档中只能有一个 <base> 标签。

目前我只观察到「淘宝网」使用了这个标签。

<link>

规定外部资源与当前文档的关系,常于链接样式表,如下所示:

<link rel="stylesheet" href="xxx.css" type="text/css">
复制代码

当然还有很多其他的作用:

  1. 比如用于 SEO,主要给搜索引擎看的:
<link rel="canonical" href="...">
复制代码

在网站中常有多个 url 指向同一个页面的情况,上述标签告知搜索引擎页面的主 url 是什么,以便搜索引擎保留主要页面而去除其他重复页面。

  1. 提供 rss 订阅的:
<link rel="alternate" type="application/rss+xml" title="RSS" href="...">
复制代码

上述标签除搜索引擎可以看懂以外,也能被很多浏览器插件识别。

  1. 表示页面 icon 的:
<link rel="icon" href="https://xxx.png">
复制代码

多数浏览器会读取这个 link 的资源并展示在页面上。

  1. 对页面提供预处理的:
<link rel="dns-prefetch" href="//xxx.com">
复制代码

提前对一个域名做 dns 查询。强制对域名进行预读取在有的情况下很有用,。

比如, 在网站的主页上,强制在整个网站上对频繁引用的域名做预解析处理,即使它们不在主页本身上使用。虽然主页的性能可能不受影响,但是会提高站点整体性能。

<style>

包含文档的样式信息。

<meta>

一种通用的元数据信息表示标签,一般以键值对出现,如:<meta name="xxx" content="yyy">

charset 属性

<meta charset="UTF-8">
复制代码

从 HTML5 开始,上述写法被推荐使用,用于声明当前文档所使用的字符编码,推荐放在 <head> 中的第一位。

http-equiv属性

<meta http-equiv="content-type" content="text/html; charset=UTF-8">
复制代码

在 HTML4 中,上述代码用于声明字符集,但是现在已不被推荐。

除了 content-type ,还有其他几个值:

content-language (已过时)、set-cookie (已过时)、default-style 、refresh 、content-security-policy

因为不常用,所以就不一一介绍了,也挺容易理解,感兴趣可以点击 这里 了解。

name 属性

其实 标签可以被自由定义,只要读取和写入的双方约定好 name 和 content 的格式就可以了。来看一个例子:

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

上面这种用法并不在 HTML 标准中,但是却移动端开发的事实标准。这里来解释一下 content 中的内容:

  • width :页面宽度,可以是一个正整数;也可以一个字符串 "device-width" ,表示跟设备宽度相等。
  • height :页面高度,可以是一个正整数;也可以一个字符串 "device-height" ,表示跟设备高度相等。
  • initial-scale :初始缩放比例。
  • minimum-scale : 最小缩放比例。
  • maximum-scale : 最大缩放比例。
  • user-scalable :是否允许用户缩放。

name 属性的值除了可以是 viewport 之外,还有相当多的值:

application-name 、author 、description 、generator 、keywords 、referrer 、robots 等。

同样的,就不一一介绍了,感兴趣可以点击 这里 了解。

<script>

用于嵌入或引用可执行脚本。来看几个 script 标签常见的全局属性:

  • async

    使浏览器使用另一个线程下载脚本,这时不会阻塞页面渲染。当脚本下载完成后,浏览器会暂停渲染,执行脚本,执行完毕后继续渲染页面。

    async 无法保证脚本的执行顺序,哪个脚本先下载结束就会先执行。

  • defer

    同样会使浏览器并行下载脚本,但是下载完毕不会立即执行,而是会等到 DOM 加载完成后(即刚刚读取完 </html> 标签)再执行脚本。

    defer 可以保证脚本的执行顺序就是它们在页面上出现的顺序。

  • src

    定义引用外部脚本的地址,指定此属性的 script 标签内不应再有嵌入的脚本。如果脚本文件使用了非英语字符,还应该注明字符的编码。如:

    <script charset="utf-8" src="https://www.example.com/script.js"></script>
    复制代码
  • type

    默认值是 text/javascript

想了解更多关于 <script> 标签的详细内容可以点击 这里 。

<noscript>

如果页面上的脚本类型不受支持或者当前在浏览器中关闭了脚本,则在此中定义脚本未被执行时的替代内容。

总结

本文到这里就结束了,其实关于 link 和 meta 标签还有很多没有介绍到,很多相关标签都是有特殊的需求,只有在特定情况下才会使用,比如移动端开发就会用许多在 PC 上并不需要的标签。

当然平时使用也主要是看需求,就拿我目前来说,只是些许用到过一些与 viewport 和 SEO 相关的标签。

鉴于此我推荐一个不错的学习方法,就是去各大网站查看它们的 head 标签里都有什么,遇到没见过的就去搜索一下,熟悉起来会很快。

我这边看过的网站有:「淘宝网」、「阿里巴巴」、「京东」、「网易严选」、「起点中文网」等。

(完)

head 标签里有什么?相关推荐

  1. url获取网站信息不包含网页源文件内的标签_前嗅ForeSpider链接抽取应用场景及链接在源码的html标签里写脚本...

    今天,小编给大家带来的教程为:前嗅ForeSpider脚本教程中,链接抽取的应用场景,以及链接在源码的html标签里写脚本的实战教程.具体内容如下: 一.应用场景 当需要手动添加链接时,可添加链接脚本 ...

  2. 中文字符匹配java_java正则匹配HTML中a标签里的中文字符示例

    java正则匹配HTML中a标签里的中文字符示例 发布于 2020-8-12| 复制链接 摘记: 本文实例讲述了java正则匹配HTML中a标签里的中文字符.分享给大家供大家参考,具体如下:今天群里一 ...

  3. php 去除 html 属性,用PHP 去掉所有html标签里的部分属性

    用PHP 去掉所有html标签里的部分属性 http://zhidao.baidu.com/question/418471924.html 用PHP 去掉所有html标签里的部分属性 tppabs s ...

  4. [react] 为什么标签里的for要写成htmlFor呢?

    [react] 为什么标签里的for要写成htmlFor呢? 为了区别和html自身标签中属性 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 ...

  5. html 中 标签里面的id 和 name 有什么区别?

    html 中 标签里面的id 和 name 有什么区别? id与name的作用,作为标签的标识符,基本上是一样的.name是老方法,id是在name基础上发明的,后来才有的. 一般来说,js中使用ID ...

  6. img标签里的value获取

    简单描述:在img标签里的value存放了需要用到的值,但是在js中获取的时候,我直接写的就是$("#imgStr").val(),结果发现是空,后来查了一下,才知道,img的va ...

  7. Smarty中直接加JS代码和将JS代码写在literal标签里

    采用Smarty模板的html怎么加入JS代码呢? 如果按一般平常添加方法,会出错 .因为 Smarty会将"{}"解析为自己的方法,和js中的"{}"会冲突. ...

  8. 获取frame 标签里#documents里面的内容

    最近几天在爬一个网站,里面有frame标签. 今天有想获取frame标签下面#documents里面的内容,查了一晚上的资料,幸好找到,明天可以交差了... 一个有frame标签的网站,http:// ...

  9. html中td内容不换行显示,html小技巧之td,div标签里内容不换行

    html小技巧之td,div标签里内容不换行 在一些页面开发中,除自己操作外,引起换行的情况一般有: Ex一.td标签里内容长度过长引起换行: Ex二.div标签(或其他标记)里内容有文本和图片引起换 ...

  10. 页面嵌iframe标签,给iframe标签里的按钮添加点击事件

    通过getElementById()方法获取iframe元素时,可以看到获取的是整个iframe标签,此时是获取不到里面的a元素的:需要再往下找iframe里的document元素. 获取a元素失败 ...

最新文章

  1. OpenStack开源精神-让企业做到真正自主可控
  2. python学习:time、unixtime、string的转换
  3. cookie的细节——1.一次可不可以发送多个cookie?2. cookie在浏览器中保存多长时间?3. cookie能不能存中文?4. cookie共享问题?
  4. SQLite 数据库注入总结
  5. WinPcap编程入门实践
  6. 马哥 linux 2015 nginx,Nginx安装及配置文件结构解析-马哥视频学习笔记
  7. ocdma相干非相干_非相干系统是什么意思
  8. socket android用法,Android NDK中socket的用法以及注意事项分析
  9. ZetCode Spring 教程
  10. mysql主从分离一致性_数据库主从数据一致性的几种解决方案
  11. python改变数组元素排序
  12. 控制器(下) -运维笔记
  13. 【VHDL】分频器设计要求:25分频,占空比为50%
  14. 高仿QQ举报网页和举报成功网站页源码
  15. 807. 区间求和(acwing水题记)
  16. 【防火墙_策略路由】
  17. MySQL下载压缩包安装详细过程
  18. 兰州工业学院有计算机专业,兰州工业学院计算机协会
  19. 使用tinymce编辑器从word保持原格式复制粘贴的办法
  20. 关于Catalan(卡特兰)数的理解

热门文章

  1. Atitit if else 选择决策流程ast对比 sql java 表达式类型 binaryExpression hase left and rit expr 目录 1.1. Sql 1
  2. Atitit 大数据体系树 艾提拉著 数据采集 gui自动化 爬虫 Nui自动化  Ocr技术 Tts语音处理 文档处理(office zip等) html文档处理解析 转换与处理
  3. Atitit 深入理解抽象类与接口 attilax总结
  4. Atitit. Xss 漏洞的原理and应用xss木马
  5. paip.解决问题Unable to access jarfile E:\resin-4.0.22\lib\resin.jar
  6. Julia: map,reduce,mapreduce
  7. SQLite:在Julia中判断一个表是否存在数据库中?
  8. 微博云原生运维如何快速应对热点流量峰值?
  9. 进阶之路:Java 日志框架全画传(上)
  10. Alibaba Cloud Linux 2 LTS 正式发布,提供更高性能和更多保障!