未加星标

从HTML 2.0到HTML5

字体大小 | |
[前端(javascript) 所属分类 前端(javascript) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

原文链接: A Brief History of Markup

2010年9月23日校毕


从HTML 2.0到HTML5

A Book Apart 的第一本书,由Jeremy Keith执笔;本文是该书第1章。

HTML是World Wide Web上统一的语言。使用它所提供的标签,人类已经创建了令人惊奇、姿态万千的超链接的文档网络。看看 Amazon 、 eBay 和 Wikipedia

,再看看个人博客和专为猫咪建立的站点,无一不是HTML的杰作。

html5是这门通用语言的最新版。虽然这次升级的变化之大史无前例,但HTML更新换代已经不是第一次了。这门语言从诞生之日起一直在发展。

在发明Web的同时,Tim Berners-Lee先生创造了HTML(HyperText Markup Language,超文本标记语言)。1991年,他写了一篇 名为“HTML Tags”的文档 ( 另见更早的www-talk上的记录 ),其中建议人们使用20来个元素编写网页。

说到用尖括号包围文本的标签,并不是Tim先生的首创。更早的 SGML(Standard Generalized Markup Language,标准通用标记语言) 中就开始使用这种标签了。Tim先生当时并没有发明新语言,而是着眼于利用已经存在的技术 在HTML5的发展过程中,这个倾向依然得到了体现。

从IETF到W3C:HTML 4诞生记

HTML 1?这个版本实际上是不存在的。最早的HTML官方规范,是 由IETF(Internet Engineering Task Force,因特网工程任务组) 发布的 HTML 2.0 。这一规范中的许多特性,都是在已有实现的基础上归纳总结出来的。比如说,1994年居于市场领导地位的 Mosaic浏览器 提供了一个<img>标签,作者可以通过它在自己的文档中嵌入图像。后来,img元素就出现在了HTML 2.0中。

W3C(World Wide Web Consortium,万维网联盟)继IETF之后成为HTML后续标准的制定者,其官方网站是 http://www.w3.org 。20世纪90年代中期以后,W3C对HTML进行了几次升级,直至1999年发布 HTML 4.01 。

此时,HTML的发展走到了一个十字路口上。

XHTML 1:符合XML标准的HTML

HMLT 4.01之后的一个修订版变成了 XHTML 1.0 。其中,X表示“eXtreme”(极端)。当时的Web开发人员在提到这个字母的时候,必须双臂交叉,作出一个X的形状来。

谁说的?纯属瞎掰。那个X表示的是“eXtensible”(可扩展),而且也没人要求你必须双臂交叉。

XHTML 1.0规范的内容与HTML 4.01完全相同,没有添加任何新元素或新属性。这两个规范唯一的差别就是对HTML的语法作出了不同的规定。HTML给予了作者最大的自由度,他们可以按照自己的意愿去写元素和属性,但XHTML要求作者遵从XML规则;XML是W3C大多数技术规范的基础,是一种更为严格的标记语言。

语法规则变得更严格了,这本身没有什么坏处。新规范的目的就是让作者按照统一的风格来编写标签。此前的标签和属性可以是大写、小写,或者任意大小写字母的组合,而有效的XHTML 1.0文档则要求所有标签和属性必须一律小写。

XHTML 1.0发布的时候恰逢浏览器普遍开始支持CSS。开发人员意识到了Web标准的出现,特别是在 Web标准项目(The Web Standards Project) 的倡导下,XHTML规定的这种更严格的语法被看成是写标记的“最佳实践”。

然后,W3C发布了 XHTML 1.1 。

虽然XHTML 1.0只不过是用XML来重新表示的HTML,但XHTML 1.1却是真正的、纯粹的XML。这意味着不能以text/html这样的 MIME类型 来提供XHTML 1.1文档。可是,如果有作者以XML的MIMI类型(application/xhtml+xml)来发布文档,那么当时世界上最流行的Web浏览器 Internet Explorer,又无法呈现该文档。

看起来W3C好像已经开始与日常的Web发布脱节了。

XHTML 2:我们不接受! 如果达斯汀霍夫曼(Dustin Hoffman)在电影《毕业生》( The Graduate )中的角色是一名Web设计师,那么W3C只会对他说一句话,就一句话:XML。 [1]

W3C在接管HTML的时候,HTML的版本已经到了4。现在,他们又着手开发 XHTML 2 ,旨在把Web引向建立在XML之上的无比光明的美好未来。

虽然XHTML 2的名字听起来与XHTML 1非常类似,但它们的差别却非常之大。与XHTML 1不一样,XHTML 2与既有的Web内容都不兼容,甚至就连以前版本的HTML都不兼容。说白了,XHTML 2就是要成为一门纯粹的语言,与以前规范的邋遢历史没有任何干系。

没想到竟是一场灾难。

分裂:WHATWG TF?

一股反抗势力在W3C内部逐步壮大。W3C热衷于从理论角度构建纯净的标准,却无视Web设计人员的需求。来自 Opera 、 Apple 和 Mozilla 的代表对这种倾向非常反感。他们希望那些支持创建Web应用的特性能够得到更多的关注。

2004年的一次工作组会议成了矛盾激化的导火索。 伊恩希克森(Ian Hickson) 当时还在Opera Software效力 建议以支持创建Web应用为目标来扩展HTML。这个建议被驳回了。

心怀不满的反抗者建立了自己的组织: Web Hypertext Application Technology Working Group (Web超文本应用技术工作组),简称WHATWG。

从Web Apps 1.0到HTML5

从一开始,WHATWG的工作方式就与W3C截然不同。W3C采取基于表决的方式:提出议题、讨论议题,然后投票表决。而在WHATWG,同样会提出和讨论议题,但哪些特性可以写入规范的最终决定权在编辑手中。这个编辑就是伊恩希克森。

表面上看,W3C的流程更民主也更公平。但实际上,政治博弈加上内部争论,经常会导致流程停滞不前。而在WHATWG,任何人都可以自由地发表意见,但负责拍板的则只有编辑一个人,因此工作效率明显高很多。其实编辑也并非拥有绝对的权力:一个仅由受邀人员组成的指导委员会可以质疑编辑的偏执做法。

最初,WHATWG的大部分工作被分为两个规范: Web Form 2.0 和 Web Apps 1.0 。这两个规范都是在HTML的基础上扩展而来的。后来,这两个规范又被合并到一起,简单地称作 HTML5 。

再次联手

在WHATWG开发HTML5期间,W3C继续制定XHTML 2规范。如果说XHTML 2规范的制定速度很快那是忽悠人的。实际上,别提有多慢了。

2006年10月,Tim Berners-Lee先生发表了一篇博客,承认将Web从HTML迁移到XML是行不通的。几个月后,W3C签发了新委任状,成立了一个HTML工作组。这个工作组并没有从头开始,而是明智地决定在WHATWG工作成果的基础上开发下一个HTML版本。

一套起步停车的动作做下来以后,局面反倒让人不理解了。 W3C同时有两个工作组,分别负责制定不同的、互不兼容的标记语言 : XHTML 2 和 HTML 5 (注意数字5前面有一个空格)。与此同时,还有一个独立的组织 WHATWG,正在开发HTML5(没有空格)规范,而该规范还将成为上述W3C中一个规范的基础!

每个想稿清楚上述状况的Web设计人员都会发现,还是破解电影《记忆碎片》( Memento )、《雷管》( Primer )中扑朔迷离的故事情节更容易一些,甚至就连摸清大卫林奇(David Lynch)这样善用颠倒错乱、诡异多变的形象来迷惑人的导演的套路都没有那么复杂。

XHTML已死,XHTML语法长生

种种迷团终于在2009年烟消云散。W3C宣布不再续颁 XHTML 2工作组的委任状 。XHTML 2作为一种格式实际上已经死了好几年了;这次的宣布差不多可以看成是为它补发了一张死亡证明。

奇怪的是,XHTML 2并没有平静地逝去,不少兴灾乐祸的小人跳出来大放厥词。XML反对者趁机奚落使用XHTML 1的人 连XHTML 1和XHTML 2几乎没有共同点这个事实都视而不见。

这时候,那些遵照XHTML 1较为严格规则的作者又担心起来,生怕HTML5又回到支持邋遢标记的老路上去。

其实,这个担心是多余的。HTML5允许邋邋遢遢的标记,也支持严格的标记,到底邋遢还是严格就要看编写标记的人了。

HTML5的时间线

HTML5目前的状态已经不似先前那么含含糊糊了,但仍然还是不甚明了。

有两个工作组在围绕HTML5工作。WHATWG正在使用它的“提交后评审”流程创建HTML5规范。而HTML Working Group则把这个规范作为输入,并将其纳入到了自己的“评审后提交”的流程当中。不难想见,这个联盟并不和谐。最后,仍然还需要就类似“要空格还是不要空格?”这样讨厌的问题达成共识才行。

对于刚刚涉足HTML5的Web开发人员来说,最令他们困惑的一个问题莫过于“这个规范什么时候能够完工啊?”

在一次采访中,伊恩希克森提到HTML5估计要等到2022年才能成为推荐标准。有些Web设计者听他这么一说,立刻就激动起来。他们并不理解所谓的“推荐标准”意味着什么,但他们知道从现在开始数到2022,自己的10个手指头根本就不够用的。

这种激动完全是没有来由的。想一想吧,成为“推荐标准”,意味必须要有两个HTML5的完整实现。考虑到这个规范涵盖的范围之广,这个时间点恐怕都有点仓促了。历史表明,没有哪款浏览器在实现既有标准方面是做得出色的。仅仅支持一个小小的abbr元素,Internet Explorer就用了10多年的时间。

与HTML5真正有关系的日期应该是2012年。这是它预计将会成为“候选标准”的时间。成为“候选标准”,就意味着标准的制定工作结束了。

不过,即便是这个时间对Web开发人员来说也不是特别重要。真正重要的问题是浏览器从什么时候开始支持HTML5的特性。从浏览器一支持

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

分页:12
转载请注明
本文标题:从HTML 2.0到HTML5
本站链接:http://www.codesec.net/view/484324.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(25)