HTML 簡史

2010/5/15 14:29:24    編輯:軟媒 - 笨笨     字體:【

Win7之家www.afsion.com.cn):HTML 簡史

新聞來源:A List Apart
HTML 是 Web 統(tǒng)一語言,這些容納在尖括號(hào)里的簡單標(biāo)簽,構(gòu)成了如今的 Web。1991 年,Tim Berners-Lee 編寫了一份叫做 “HTML 標(biāo)簽”的文檔,里面包含了大約20個(gè)用來標(biāo)記網(wǎng)頁的 HTML 標(biāo)簽。他直接借用 SGML 的標(biāo)記格式,也就是后來我們看到的 HTML 標(biāo)記的格式。本文講述了 HTML 這門 Web 標(biāo)記語言的發(fā)展簡史。

從 IETF 到 W3C: HTML 4 之路
HTML 1 并不曾存在,HTML 的第一個(gè)官方版本就是由 IETF (互聯(lián)網(wǎng)工程任務(wù)組) 推出的 HTML 2.0。問世之前,這個(gè)版本中的很多細(xì)則已經(jīng)被實(shí)現(xiàn),比如,1994年的 Mosaic 瀏覽器已經(jīng)實(shí)現(xiàn)了在文檔中嵌入圖片的方法,后來 HTML 2.0 便吸納了 img 這個(gè)標(biāo)簽。

后來,W3C 取代 IETF 的角色,成為 HTML 的標(biāo)準(zhǔn)組織,1990年代的后半頁,HTML 的版本被頻繁修改,直到1999年的 HTML 4.01,至此,HTML 到達(dá)了它的第一個(gè)拐點(diǎn)。

XHTML 1: XML 風(fēng)格的 HTML
HTML 在 HTML 4.01 之后的第一個(gè)修訂版本就是 XHTML 1.0,其中 X 代表 “eXtensible” ,擴(kuò)展,當(dāng)然也有人將之解讀為 “eXtreme”,極端。XHTML 1.0 是基于 HTML 4.01 的,并沒有引入任何新標(biāo)簽或?qū)傩裕ㄒ坏膮^(qū)別是語法,HTML 對(duì)語法比較隨便,而 XHTML 則要求 XML 般的嚴(yán)格語法。

使用嚴(yán)格的語法規(guī)范并非壞事,要求開發(fā)者使用單一的代碼風(fēng)格,比如,HTML 4.01 允許你使用大寫或小寫字母標(biāo)識(shí)標(biāo)記元素和屬性,XHTML 則只允許小寫字母。XHTML 1.0 的推出剛好碰上了 CSS 的崛起,Web 開發(fā)設(shè)計(jì)者們開始意識(shí)到 Web 標(biāo)準(zhǔn)問題,基于 XHTML 的嚴(yán)格語法規(guī)范被視為編寫 HTML 代碼的最佳實(shí)踐。

于是,W3C 推出 XHTML 1.1。

如果說 XHTML 1.0 是 XML 風(fēng)格的 HTML,XHTML 1.1 則是貨真價(jià)實(shí)的 XML。這意味著 XHTML 1.1 無法使用 text/html mime-type 直接輸出,然而,如果 Web 開發(fā)者使用 XML mime-type,則當(dāng)時(shí)的主流瀏覽器,IE 則壓根不支持。看上去,W3C 似乎正在與當(dāng)時(shí)的 Web 脫節(jié)。

出力不討好的 XHTML 2
對(duì) W3C 而言,到了 HTML 4 已經(jīng)是功德圓滿,他們的下一步工作是 XHTML 2,希望將 Web 帶向 XML 的光明未來。雖然 XHTML 2 聽上去和 XHTML 1 類似,它們卻有很多差別,XHTML 2 不向前兼容,甚至不兼容之前的 HTML。它是一種全新的語言,赤條條來去無牽掛。這實(shí)在是一場(chǎng)災(zāi)難。

WHATWG:與 W3C 決裂
W3C 閉門造車的作風(fēng)引起了一些人的不滿,來自 Opera, Apple, 以及 Mozilla 的代表開始表達(dá)反對(duì)聲音。2004年,Opera 的 Ian Hickson 提議在 HTML 基礎(chǔ)上進(jìn)行擴(kuò)展以適應(yīng)新的 Web 應(yīng)用,該提議遭到 W3C 的拒絕。于是,他們自發(fā)組織成立了超文本應(yīng)用技術(shù)工作組,就是 WHATWG。

從 Web Apps 1.0 到 HTML5
從一開始,WHATWG 就和 W3C 走不同的路線,W3C 對(duì)問題的討論是集體投票,而 WHATWG 則由主筆 Ian Hickson 定度。表面上看,W3C 更民主,然而事實(shí)上,各種內(nèi)部紛爭會(huì)使一些決議限于泥潭,在 WHATWG,事情的進(jìn)展會(huì)更容易,不過,主筆的權(quán)力并非無限大,他們的委員會(huì)可以對(duì)那些過于偏執(zhí)的主筆進(jìn)行彈劾。

一開始,WHATWG 的主要工作包括兩部分,Web Forms 2.0 和 Web Apps 1.0,它們都是 HTML 的擴(kuò)展,后來,他們合并到一起成為現(xiàn)在的 HTML5 規(guī)范。

言歸于好
在 WHATWG 致力于 HTML5 的同時(shí),W3C 繼續(xù)他們的 XHTML 2.0,然而,他們慢慢地陷入困境。

2006年10月,Web 之父 Tim Berners-Lee 發(fā)表了一篇博客文章,表示,從 HTML 走向 XML 的路是行不通的,幾個(gè)月后,W3C 組建了一個(gè)新的 HTML 工作組,他們非常明智地選擇了 WHATWG 的成果作為基礎(chǔ)。這一轉(zhuǎn)變帶來一些困惑,W3C 同時(shí)進(jìn)行這兩套規(guī)范,XHTML 2 和 HTML 5 (注意,W3C 的 HTTML 5 在 5 之前有個(gè)空格,而 WHATWG 的 HTML5 則沒有空格),而 WHATWG 也在進(jìn)行著同樣的工作。

XHTML 已死: XHTML 語法永存
這一混亂局面到了 2009 年開始變得清晰,W3C 宣布終止 XHTML 2 的工作,這是一份關(guān)于 XHTML 2 的遲到的訃告。這一消息被那些 XML 的反對(duì)者視為珍寶,他們借此嘲笑那些使用 XHTML 1 規(guī)范的人,然而他們似乎忘記了,XHTML 1 和 XHTML 2 是截然不同的東西。于此同時(shí),XHTML 1 規(guī)范的制定者擔(dān)心,XHTML 1 中的嚴(yán)格語法規(guī)范會(huì)被 HTML5 棄用,這種擔(dān)心后來證明是多余的,HTML5 既支持松散語法,也支持 XHTML 1 般的嚴(yán)格語法。

HTML5 路線圖
HTML5 的現(xiàn)狀是,它不再象以前那樣讓人困惑,然而仍不夠明朗。有兩個(gè)組織在同時(shí)制定它的規(guī)范,這兩個(gè)組織有著完全不同的行事風(fēng)格,WHATWG 是先買后嘗,W3C 是先嘗后買,他們形成了一個(gè)不太靠譜的聯(lián)姻,最終人們必將面臨一個(gè) HTML5 還是 HTML 5 的問題。

更讓開發(fā)者困惑的是,他們什么時(shí)候才可以試水 HTML5。

在一次訪談中,Ian Hickson 提到了 2022,表示要到那時(shí) HTML5 才會(huì)形成"推薦標(biāo)準(zhǔn)",此話一出,立刻招來 Web 設(shè)計(jì)者們的憤怒,盡管他們不知道推薦標(biāo)準(zhǔn)時(shí)什么意思,但他們明白,2022 已經(jīng)是猴年馬月的事了。

這還不算,更重要的是,這個(gè)推薦標(biāo)準(zhǔn)涉及兩套規(guī)范,考慮到 HTML5 標(biāo)準(zhǔn)的規(guī)模,這個(gè)日期還是太樂觀了,畢竟,各大瀏覽器以往對(duì)既有標(biāo)準(zhǔn)的兼容并不遂人意,想當(dāng)初,IE 花了10年才接納 abbr 這個(gè)標(biāo)簽。

2012 年,HTML5 會(huì)被接納為候選標(biāo)準(zhǔn),這將是 HTML5 真正開始發(fā)力的日子。對(duì) Web 開發(fā)設(shè)計(jì)者來說,這并不重要,重要的是瀏覽器的支持,就像 CSS 2.1,當(dāng)有瀏覽器開始支持這一規(guī)范的時(shí)候,就有開發(fā)設(shè)計(jì)者在使用了,倘若必須等到所有瀏覽器都支持才開始入手,恐怕我們現(xiàn)在還在等待中。

HTML5 也一樣,并不會(huì)有一個(gè)時(shí)間點(diǎn),宣布 HTML5 已經(jīng)準(zhǔn)備妥當(dāng),相反,我們會(huì)先開始使用它的部分功能,HTML5 并不是一個(gè)從零開始全新的東西,它是舊的 HTML 標(biāo)準(zhǔn)的改進(jìn),事實(shí)上,不管你正在使用的 HTML 是哪個(gè)版本,你已經(jīng)在使用 HTML5 了。