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的發展歷史
本作品為“科普中國-科技創新里程碑”原創 轉載時務請注明出處