HTML是Web統一語言,這些容納在尖括號裡的簡單標籤,構成瞭如今的Web。 1991年,TimBerners-Lee編寫了一份叫做「HTML標籤」的文檔,裡麵包含了大約20個用來標記網頁的HTML標籤。他直接借用SGML的標記格式,也就是後來我們看到的HTML標記的格式。本文講述了HTML這門Web標記語言的發展簡史。
從IETF到W3C:HTML4之路
HTML1並不曾存在,HTML的第一個官方版本就是由IETF(網路工程任務小組)推出的HTML2.0。在問世之前,這個版本中的許多細則已經被實現,例如,1994年的Mosaic瀏覽器已經實現了在文件中嵌入圖片的方法,後來HTML2.0便吸納了img這個標籤。
後來,W3C取代IETF的角色,成為HTML的標準組織,1990年代的後半頁,HTML的版本被頻繁修改,直到1999年的HTML4.01,至此,HTML到達了它的第一個拐點。
XHTML1:XML風格的HTML
HTML在HTML4.01之後的第一個修訂版本就是XHTML1.0,其中X代表“eXtensible”,擴展,當然也有人將之解讀為“eXtreme”,極端。 XHTML1.0是基於HTML4.01的,並沒有引入任何新標籤或屬性,唯一的區別是語法,HTML對語法比較隨便,而XHTML則要求XML般的嚴格語法。
使用嚴格的語法規範並非壞事,要求開發者使用單一的程式碼風格,例如,HTML4.01允許你使用大寫或小寫字母來識別標記元素和屬性,XHTML則只允許小寫字母。 XHTML1.0的推出剛好碰上了CSS的崛起,Web開發設計者們開始意識到Web標準問題,基於XHTML的嚴格語法規範被視為編寫HTML程式碼的最佳實踐。
於是,W3C推出XHTML1.1。
如果說XHTML1.0是XML風格的HTML,XHTML1.1則是貨真價實的XML。這意味著XHTML1.1無法使用text/htmlmime-type直接輸出,然而,如果Web開發者使用XMLmime-type,則當時的主流瀏覽器,IE則壓根不支援。看上去,W3C似乎正在與當時的Web脫節。
出力不討好的XHTML2
對W3C而言,到了HTML4已經是功德圓滿,他們的下一步工作是XHTML2,希望將Web帶到XML的光明未來。雖然XHTML2聽起來和XHTML1類似,它們卻有很多差別,XHTML2不向前相容,甚至不相容之前的HTML。它是一種全新的語言,赤條條來去無牽掛。這實在是一場災難。
WHATWG:與W3C決裂
W3C閉門造車的作風引起了一些人的不滿,來自Opera,Apple,以及Mozilla的代表開始表達反對聲音。 2004年,Opera的IanHickson提議在HTML基礎上進行擴展以適應新的Web應用,該提議遭到W3C的拒絕。於是,他們自發性組織成立了超文本應用技術工作小組,就是WHATWG。
從WebApps1.0到HTML5
從一開始,WHATWG就和W3C走不同的路線,W3C對問題的討論是集體投票,而WHATWG則由主筆IanHickson定度。表面上看,W3C更民主,然而事實上,各種內部紛爭會使一些決議限於泥潭,在WHATWG,事情的進展會更容易,不過,主筆的權力並非無限大,他們的委員會可以對那些過於偏執的主筆進行彈劾。
一開始,WHATWG的主要工作包括兩個部分,WebForms2.0和WebApps1.0,它們都是HTML的擴展,後來,他們合併到一起成為現在的HTML5規範。
言歸於好
在WHATWG致力於HTML5的同時,W3C繼續他們的XHTML2.0,然而,他們慢慢地陷入困境。
2006年10月,Web之父TimBerners-Lee發表了一篇部落格文章,表示,從HTML走向XML的路是行不通的,幾個月後,W3C組建了一個新的HTML工作小組,他們非常明智地選擇了WHATWG的成果作為基礎。這項轉變帶來一些困惑,W3C同時進行這兩套規範,XHTML2和HTML5(注意,W3C的HTTML5在5之前有個空格,而WHATWG的HTML5則沒有空格),而WHATWG也在進行著同樣的工作。
XHTML已死:XHTML語法永存
這一混亂局面到了2009年開始變得清晰,W3C宣布終止XHTML2的工作,這是一份關於XHTML2的遲到的訃告。這消息被那些XML的反對者視為珍寶,他們藉此嘲笑那些使用XHTML1規範的人,然而他們似乎忘記了,XHTML1和XHTML2是截然不同的東西。同時,XHTML1規範的製定者擔心,XHTML1中的嚴格語法規範會被HTML5棄用,這種擔心後來證明是多餘的,HTML5既支援鬆散語法,也支援XHTML1般的嚴格語法。
HTML5路線圖
HTML5的現況是,它不再像以前那樣讓人困惑,然而仍不夠明朗。有兩個組織在同時制定它的規範,這兩個組織有著完全不同的行事風格,WHATWG是先買後嘗,W3C是先嘗後買,他們形成了一個不太可靠的聯姻,最終人們必將面臨一個HTML5還是HTML5的問題。
更讓開發者困惑的是,他們什麼時候才可以試水溫HTML5。
在一次訪談中,IanHickson提到了2022,表示要到那時HTML5才會形成“推薦標準”,此話一出,立刻招來Web設計者們的憤怒,儘管他們不知道推薦標準時什麼意思,但他們明白,2022已經是猴年馬月的事了。
這還不算,更重要的是,這個推薦標準涉及兩套規範,考慮到HTML5標準的規模,這個日期還是太樂觀了,畢竟,各大瀏覽器以往對既有標準的兼容並不遂人意,想當初,IE花了10年才接納abbr這個標籤。
2012年,HTML5會被接納為候選標準,這將是HTML5真正開始發力的日子。對Web開發設計者來說,這並不重要,重要的是瀏覽器的支持,就像CSS2.1,當有瀏覽器開始支持這項規範的時候,就有開發設計者在使用了,倘若必須等到所有瀏覽器都支援才開始入手,恐怕我們現在還在等待中。
HTML5也是一樣,不會有一個時間點,宣布HTML5已經準備妥當,相反,我們會先開始使用它的部分功能,HTML5並不是一個從零開始全新的東西,它是舊的HTML標準的改進,事實上,不管你正在使用的HTML是哪個版本,你已經在使用HTML5了。
本文國際來源:A List Apart A Brief History of Markup (原文作者: Jeremy Keith )
中文編譯來源:銳商企業CMS網站內容管理系統官方網站