HTML,说它陌生,因为绝大部分人都不了解他是什么,可以做什么;又说他是老朋友,因为几乎每天都会跟他照面。

午休时间,你是否会打开淘宝看看关注的商品是否降价;上下班的公车上,你是否会拿出手机点击科技日报的网址看看最近又有什么科普类的文章,我们不知不觉中成为HTML最忠实的Fans。

那HTML又是什么呢?他的大名叫HyperText Markup Language(超级文本标记语言)缩写为HTML,他是我们平时浏览的万维网的基本规则之一。HTML是万维网文档发布和浏览的基本格式,是一种规范,一种标准。HTML作为定义万维网的基本规则之一,最初由蒂姆•本尼斯李(Tim Berbers-Lee)研制出来。

1989年3 月,蒂姆向著名的欧洲原子核研究会(CERN)递交了一份立项建议书,建议采用超文本技术(Hypertext)把CERN内部的各个实验室连接起来,在系统建成后,将可能扩展到全世界。这个激动人心的建议在CERN引起轩然大波,但这里终究是核物理实验室而非计算机网络研究中心,虽有人支持但最后仍没有被通过。蒂姆并没有灰心,他花了2个月重新修改了建议书,加入了对超文本开发步骤与应用前景的阐述,用词恳切,并再一次呈递上去;这回终于得到了上司的批准。于是蒂姆得到了一笔经费,购买了一台NEXT计算机,并率领助手开发试验系统。

蒂姆•本尼斯李(Tim Berbers-Lee)

1989年仲夏之夜,蒂姆成功开发出世界上第一个Web服务器和第一个Web客户机。虽然这个Web服务器简陋得只能说是CERN的电话号码簿,它只是允许用户进入主机以查询每个研究人员的电话号码,但它实实在在是一个所见即所得的超文本浏览/编辑器。1989年12月,蒂姆为他的发明正式定名为World Wide Web,即我们熟悉的WWW;1991年5月WWW在 Internet上首次露面,立即引起轰动。

不过,蒂姆设计的语言太过简易。它是以文本格式为基础,所以可以用任何编辑器和文字处理器来为网络创建或转换文本。并且它仅有不多的几个标签。HTML的第一个官方版本便是由IETF(国际互联网工程任务组)推出的HTML 2.0。问世之前,这个版本中的很多细则已经实现,比如,1994年得Mosaic浏览器已经实现了在网页中嵌入图片,其后HTML 2.0便加入了img这个功能,使得人们能够在网页上展示图片。

其后,W3C取代IETF的角色,成为HTML标准制定的机构,1990年代后期,HTML的标准被频繁地修改,直到1999年的HTML4.01,HTML到达了它的第一个拐点。

HTML在HTML 4.01之后第一个修订版本便是 XHTML 1.0,其中X代表“eXtensible”(扩展),当然也有人将之解读为 “eXtreme”(极度)。XHTML 1.0是基于HTML 4.01,并没有引入任何新标签和属性,唯一的区别就是语法,HTML对语法比较随意,而XHTML则对语法的要求极为苛刻。

使用严格的语法规范并不是什么坏事,比如HTML 4.01是不区分大小写的,XHTML的大小写表示不同的意思。XHTML 1.0推出恰好赶上了CSS 的崛起,Web开发者们开始意识到Web语法规则的重要性。

如果说XHTML 1.0 是XML风格的HTML,XHTML 1.1 则是货真价实得 XML。这意味着XHTML 1.1无法利用text/html mime-type直接输出,Web开发者使用XML mime-type,而当时得主流浏览器IE压根不支持。看上去,W3C试图仔摆脱当时的Web。

对W3C而言,到了HTML 4已经是功德圆满,他们的下一步计划是XHTML 2,盼望将Web带给XML光明的未来。虽然XHTML 2听上去和XHTML 1很相似,它们却有很多不同,XHTML 2不向前兼容,甚至不兼容之前得 HTML。它是一种全新的语言。这着实是一场灾难。

可能W3C对标准的制定太任性,引起了部分人的不满,来自Opera, Apple, 以及Mozilla的开发者们开始发出反对的声音。2004年,Opera的Ian Hickson发起在HTML基础上进行扩展以适应新的Web 应用的提议,该议题遭到W3C的拒绝。于是,他们自发组成了网页超文本应用技术工作小组,便是WHATWG。

一开始,WHATWG就和W3C有着不同的规则制定的模式,W3C对决议最终判决是团体投票,而WHATWG则由主笔Ian Hickson一个人定夺。表面上看W3C更民主,毕竟种种内部争论会使部分决议陷于泥潭,使议题停滞不前;而WHATWC制定规则方便得多,不过主笔的权利也并非无穷大,委员会可以对那些过于偏执的主笔进行弹劾。

WHATWG的方案有两套,Web Forms 2.0 和 Web Apps 1.0,它们都是HTML的扩展,后来他们合二为一成为如今的HTML5标准。

在WHATWG致力于HTML5的同时,W3C也推进到XHTML 2.0版本,然而他们慢慢的陷入窘境。

2006年10月,Web之父Tim Berners-Lee发表了一篇文章,表示从HTML走向XML的路是行不通,几个月后,W3C组建了一个新的HTML委员会,他们非常明智地使用了WHATWG的成果作为基础。这一变化引发部分质疑,W3C同时进行这两套标准的制定,XHTML 2和HTML 5,而WHATWG也在进行同样的改变。

这一混乱场面到了2009年才开始变得明朗,W3C终止了XHTML 2标准制定,这是一个关于XHTML 2迟来的忏悔。这一消息被那些XML的反对者视为笑点,他们借此嘲笑那些使用 XHTML 1标准的人,然而他们好像没有注意到,XHTML 1和 XHTML 2有着明显的差异。于此同时,XHTML 1标准的订定者们担心,XHTML 1中严格语法规范会被HTML 5 弃用,这种担心事后证明是多余的,HTML 5既支持疏松语法,也支持XHTML 1般严格的语法。

HTML 5的近况如何,它不再像过去那样让人质疑,然而仍前景也不是很光明。有两个机构在同时制定标准,这两个构造有着完全不同的行事风格,WHATWG 是先买后尝,W3C是先尝后买,他们形成了一个不太靠谱的联姻,终极人们必将面对一个选择题,是HTML5还是HTML 5?

2012 年,HTML 5被采取为候选标准,这将是HTML 5真正开始发力的日子。对Web开发者来说,这并不重要,重要的是浏览器的支持,比如CSS 2.1,当有浏览器开始支持这一标准,就有开发者在使用了,假若等到全部浏览器都支持才开始入手,恐怕我们如今还在等待中。

和HTML 5一样,HTML5并不是一蹴而就,先利用它的部分成果,HTML 5并不是一个从零开始全新的东西,它是旧的HTML标准的改进,毕竟不管你正在利用得HTML是哪个版本,你已经在使用HTML 5了。

Web的发展历史

本作品为“科普中国-科技创新里程碑”原创 转载时务请注明出处

 

陌生的老朋友-——HTML

图文简介

HTML,说它陌生,因为绝大部分人都不了解他是什么,可以做什么;又说他是老朋友,因为几乎每天都会跟他照面。