1.2 HTML的发展史

1.2.1 HTML的早期发展

HTML的历史可以追溯至1993年,在这一年,HTML首次以Internet草案的形式发布。20世纪90年代的人见证了HTML的高速发展,从1.0版、2.0版、3.2版到4.0版,再到1999年的4.01版,具体如下。

 HTML 1.0:在1993年6月作为互联网工程工作小组(IETF)工作草案发布,由此超文本标记语言第一版诞生,但由于当时有很多版本的HTML,没有形成一个统一的标准,因此实际上没有正式的HTML 1.0。

 HTML 2.0:1995年11月作为RFC 1866发布,于2000年6月被宣布已经过时。

 HTML 3.2:1997年1月14日发布,W3C推荐标准。

 HTML 4.0:1997年12月18日发布,W3C推荐标准。

 HTML 4.01:1999年12月24日发布,W3C推荐标准,在HTML 4.0基础上进行微小改进。

随着HTML的发展,W3C(万维网联盟)掌握了对HTML规范的控制权。然而,在快速发布了4个版本之后,业界普遍认为HTML已经“无路可走”了,对Web标准的焦点也开始转移到了XML和XHTML,HTML被放在次要位置。不过在此期间,HTML体现了顽强的生命力,主要的网站内容还是基于HTML的。为能支持新的Web应用,同时克服现有的缺点,HTML迫切需要添加新功能,制定新规范。

1.2.2 从HTML到XHTML

在早期的HTML发展过程中,HTML由于从未执行严格的规范,而且各浏览器对各种不规范的HTML代码极为宽容,因此显得极为混乱。例如,下面代码:

     <html>
     <head>
     <title>混乱的HTML文档</title>
     <body>
     <hl>混乱的HTML文档

上面代码中的<html>、<head>、<body>和<h1>标签没有正确结束,这显然违背了结构化文档的规则。然而,当使用浏览器浏览这个文档时,我们依然可以看到浏览效果,这就是HTML不规范的地方。

为此,W3C建议使用XML规范来约束HTML文档。他们将HTML和XML的优点加以结合,得到了一种在当时、现在和未来都能使用的标记语言:XHTML。

XHTML(extensible hyper text markup language,扩展的超文本标记语言)要求HTML文档首先必须是一份XML文档。XML文档是一种结构化文档,它有如下4条基本规则:

 整个文档有且仅有一个根元素。

 每个元素都由开始标签和结束标签组成(如<a>和</a>分别是开始标签和结束标签),除非使用空元素语法(如<br/>就是空元素语法)。

 元素与元素之间应该合理嵌套。例如,<a><b>HTML5从入门到精通</b></a>,可以很明确地看出<b>元素是<a>元素的子元素,这就是合理嵌套,但<a><b>HTML5从入门到精通</a></b>这种写法比较混乱,也就是所谓的不合理嵌套。

 元素的属性必须有属性值,并且属性值应该用引号(单引号或双引号)引起来。

XHTML不仅与HTML 4.01具有很好的兼容性,而且是更严格、更纯净的HTML代码。XHTML可以被所有支持XML的设备读取,在其他浏览器升级至支持XML之前,XHTML强制HTML文档具有更加良好的结构,保证这些文档可以被所有的浏览器解释。

1.2.3 HTML5的面市及发展

虽然W3C努力为HTML制定规范,但由于绝大部分编写HTML页面的人并没有接受过专业训练,他们对HTML规范、XHTML规范也不是很了解,所以他们制作的HTML网页绝大部分都没有遵守HTML规范。

2004年,W3C小组人员成立了WHATWG(Web Hypertext Application Technology Working Group,Web超文本应用技术工作组),他们创立了HTML5规范,同时开始专门针对Web应用开发新功能—这被WHATWG认为是HTML中最薄弱的环节。Web 2.0这个新词也就是在那个时候被发明的。Web 2.0实至名归,开创了Web的第二个时代,旧的静态网站逐渐让位于需要更多特性的动态网站和社交网站—这其中的新功能真的是数不胜数。

2006年,W3C又重新介入HTML,并于2008年发布了HTML5的工作草案。2009年,XHTML2工作组停止工作。又过一年,因为HTML5能解决非常实际的问题,所以在规范还没有具体定下来的情况下,各大浏览器厂家就已经按捺不住了,开始对旗下产品进行升级,以支持HTML5的新功能。这样,得益于浏览器的实验性反馈,HTML5规范也得到了持续地完善,HTML5以这种方式迅速融入对Web平台的实质性改进中。

2017年12月14日,W3C的Web平台工作组发布了HTML 5.2正式推荐标准,并将淘汰过时的HTML 5.1推荐标准。HTML 5.2是基于超文本标记语言HTML5的第二次更新。在该版本中,添加了可以帮助Web应用程序开发者的新特征,同时基于开发者的普遍使用习惯进一步引入了新的元素,重点关注定义清晰的一致性准则,以确保Web应用和内容在不同用户代理浏览器中的互操作性。同时,工作组还发布了HTML 5.3的首个公开工作草案,HTML 5.3是基于超文本标记语言HTML5的第三次更新。