HTML是万维网的统一语言。人类仅仅使用它所包含的简单标签,就建立了一个惊人的、多样化的超链接文档网络,从 Amazon、EBay和 Wikipedia,到个人博客和专门为那些看起来像希特勒的猫服务的网站。
HTML5是这种通用语言的最新版本。虽然这是对我们共同语言最雄心勃勃的改变,但这并不是 HTML第一次被更新。语言从一开始就在演变。
与网络本身一样,超文本标记语言是 Tim Berners-Lee爵士的创意。1991年,他写了一份名为“HTML标签”的文件,其中他提出了不到20多个可以用来编写网页的元素。
Tim爵士没有想到在尖括号之间使用由单词组成的标签;这些类型的标记已经存在于 SGML(标准通用标记语言)格式中。蒂姆爵士没有发明一种新标准,而是看到了在现有基础上进行构建的好处,这种趋势在 HTML5的开发中仍然可以看到。
从IETF到W3C:HTML 4之路
从来没有像 HTML 1这样的东西。第一个官方规范是 HTML 2.0,由互联网工程任务组 IETF发布。该规范中的许多特性都是由现有实现驱动的。例如,1994年市场领先的 Mosicaweb浏览器已经为作者提供了一种使用 <img>
标签在文档中嵌入图像的方法。 img
元素稍后出现在 HTML 2.0规范中。
IETF的角色被 W3C取代,W3C是万维网联盟,HTML标准的后续迭代在 http://www.w3.org上发布。上世纪 90年代下半叶,规范经历了一系列修订,直到 1999年 HTML 4.01发布。
当时,HTML面临着它的第一个主要转折点。
XHTML 1: HTML 作为 XML
在 HTML 4.01之后,对该语言的下一次修订称为 XHTML 1.0。X代表“极端”,Web开发人员在说这封信时需要交叉双臂,以 X的形式。
不,不完全是。X代表“可扩展”,交叉臂完全是可选的。
XHTML 1.0规范的内容与 HTML 4.01的内容相同。没有添加新的元素或属性。唯一的区别是语言的语法。虽然 HTML允许作者在编写元素和属性方面有很大的自由,但 XHTML要求作者遵循 XML的规则,XML是 W3C大多数技术所基于的一种更严格的标记语言。
制定更严格的规则并不是件坏事。它鼓励作者使用单一的写作风格。以前的标记和属性可以用大写、小写或任意组合编写,而有效的 XHTML1.0文档则要求所有标记和属性都是小写的。
XHTML 1.0的发布恰逢浏览器支持 CSS的兴起,随着网页设计师们拥抱以 Web标准为主导的网络标准的出现。
项目中,XHTML更严格的语法被视为编写标记的“最佳实践”。
然后 W3C发布了 XHTML 1.1。
XHTML1.0只是简单地将 HTML重新表示为 XML,XHTML1.1则是真实、诚实的 XML。这意味着它不能与 MIME类型的 text/html
一起使用。但是,如果作者发布了一个带有 xml MIME类型的文档,那么当时世界上最流行的 Web浏览器 InternetExplorer无法呈现该文档。
似乎 W3C正在失去与网络上发布的日常现实的联系。
XHTML 2:哦,我们不会拿走它的!
如果达斯汀·霍夫曼在“毕业生”中扮演的角色是一位网页设计师,W3C会对他说一个词,只说一个词:XML。
就 W3C而言,HTML是从第 4版开始完成的。他们开始研究 XHTML 2,旨在引领网络走向一个崭新的基于 xml的未来。
尽管 XHTML 2的名称听起来非常类似于 XHTML 1,但它们的区别再大不过了。与 XHTML 1不同的是,XHTML 2不会向后兼容现有的 Web内容甚至以前的 HTML版本。相反,它将是一种纯语言,不受以前规范草率的历史影响。
那是场灾难。
分裂:WHATWG TF?
在 W3C内部形成的叛乱。该联盟似乎正在制定理论上纯粹的标准,与网页设计师的需求无关。Opera、Apple和 Mozilla的代表对这一方向感到不满。他们希望看到更多地强调允许创建 Web应用程序的格式。
2004年的一次研讨会上,事情发展到了顶峰。IanHickson当时在 Opera软件公司工作,他提出了扩展 HTML以允许创建 Web应用程序的想法。该提案被否决。
心怀不满的反叛者组成了他们自己的小组:Web超文本应用技术工作组,简称 WHATWG。
从Web Apps 1.0到HTML5
从一开始,WHATWG的运作方式与 W3C完全不同。W3C采用了一种基于共识的方法:提出、讨论和表决问题。在 WHATWG上,问题也会被提出和讨论,但是关于规范中的内容的最终决定取决于编辑器。编辑是伊恩·希克森。
从表面上看,W3C过程听起来更加民主和公平。在实践中,政治和内部争吵会阻碍进展。在 WHATWG,任何人都可以自由投稿,但编辑有最后一句话,事情以更快的速度进行。但编辑没有绝对的权力:只有邀请指导委员会可以弹劾他在不太可能的情况下,一个奇怪的场景。
最初,WHATWG的大部分工作被分成两个规范:WebForms2.0和 WebApps 1.0。这两种规范都是为了扩展 HTML。随着时间的推移,它们被合并到一个名为 HTML5的单一规范中。
标准统一
在 WHATWG上开发 HTML5时,W3C继续研究 XHTML 2。说它走得太快是不准确的。它无处可去,非常缓慢。
2006年10月,TimBerners-Lee爵士写了一篇博文,他在博文中承认,将网络从 HTML转移到 XML的尝试是行不通的。几个月后,W3C发布了一个 HTML工作组的新章程。与其从头开始,他们明智地决定将 WHATWG的工作作为 HTML未来版本的基础。
所有这一切的停止和开始导致了一个有点混乱的情况。W3C同时处理两种不同的、不兼容的标记类型:XHTML 2和 HTML5(请注意字母 5之前的空格)。同时,另一个组织,WHATWG,正在开发一个名为 HTML5的规范(没有空间),它将作为 W3C规范之一的基础!
任何想要理解这种情况的网页设计师都能更容易地破译一场电影马拉松式的“记忆”、“普利默”和大卫·林奇的全部作品。
XHTML死了:XHTML语法万岁
混乱的迷雾在 2009年开始消散。W3C宣布 XHTML2的章程将不再更新。几年来,这一格式就像死了一样;这一宣布不过是一份死亡证明而已。
奇怪的是,XHTML2的死并没有被忽视,而是受到了一些卑鄙的幸灾乐祸的欢迎。XML反对者利用这一公告来嘲笑任何曾经使用过 XHTML1的人-尽管 XHTML1和 XHTML2几乎没有任何共同点。
与此同时,为了执行更严格的写作风格而一直在编写 XHTML 1的作者们开始担心 HTML5将迎来草率标记的回归。
你很快就会看到,情况不一定是这样的。HTML5就像你想做的一样草率或严格。
HTML5的时间线
HTML5的当前状态不再像以前那样混乱,但仍然不那么简单。
有两个小组在 HTML5上工作。WHATWG正在使用其“提交然后审查”的过程创建 HTML5规范。W3C HTML工作组正在采用该规范,并将其置于“审查然后提交”的过程中。正如你所能想象的,这是一个不稳定的联盟。尽管如此,对于那个讨厌的“空间还是没有空间?”,似乎终于有了一些共识。问题(这是 HTML5,没有空间,以防你感兴趣)。
对于那些把脚趾伸向 HTML5的网页设计师来说,最令人困惑的问题可能是如何回答这个问题:“它什么时候才能准备好?”
在一次采访中,IanHickson提到 2022年是他期望 HTML5成为推荐的一年。随后,一些网页设计师掀起了一波公愤。他们不明白“建议”是什么意思,但他们知道,直到 2022年,他们才有足够的手指来统计这些年。
这种愤怒是没有根据的。在这种情况下,达到“拟议建议”的状态需要两个完整的 HTML5实现。考虑到规范的范围,这个日期是非常雄心勃勃的。毕竟,浏览器没有实现现有标准的最佳记录。仅仅为了增加对 abbr元素的支持,InternetExplorer就花了十年的时间。
HTML5真正重要的日期是 2012年。这时,规范将成为“候选推荐”。这是标准-代表“做好了,尘埃落定”。
但即便是这一日期,也与网页设计师没有什么特别的关系。真正重要的是浏览器何时开始支持特性。当浏览器开始提供支持 CSS 2.1的部分时,我们就开始使用这些部分。如果我们在开始使用任何一个浏览器之前都等待每个浏览器完全支持 CSS 2.1,那么我们仍然在等待。
它与 HTML5没有什么不同。在任何时候,我们都不能声明语言已经准备好使用了。相反,我们可以开始使用规范的一部分,因为 Web浏览器支持这些特性。
记住,HTML5并不是一种全新的语言。这是一个正在进行的标记故事中的一个进化而不是革命性的变化。如果您目前正在使用 HTML的任何版本创建网站,那么您已经在使用 HTML5。