HTML的發(fā)展歷史!
發(fā)表日期:2015/7/31 14:28:31 文章編輯: 瀏覽次數(shù):2330
HTML最早是從2.0版開始的。從來就沒有1.0版。如果有人告訴你說,他最早是從HTML 1.0開始使用HTML的,那他絕對(duì)是在忽悠你。從前確實(shí)有一個(gè)名叫HTML Tags的文檔,其中的部分標(biāo)簽一直用到現(xiàn)在,但那個(gè)文檔并非官方的規(guī)范。
使用標(biāo)簽、尖括號(hào)、p或h1,等等,并不是蒂姆·伯納斯-李首創(chuàng)的想法。當(dāng)時(shí)的SGML里就有了這些概念,而且當(dāng)時(shí)的CERN(Conseil Europeen pour la Recherche Nucleaire,歐洲核子研究委員會(huì))也在使用SGML的一個(gè)特定的版本。也就是說,即便在那個(gè)時(shí)代,他也沒有白手起家;這一點(diǎn)在HTML后來的發(fā)展 過程中也體現(xiàn)了出來:繼往開來、承前啟后,而不是另立門戶、從頭開始。
換句話說,這篇名為HTML Tags的文檔可以算作HTML的第一個(gè)版本,但它卻不是一個(gè)正式的版本。第一個(gè)正式版本,HTML 2.0,也不是出自W3C之手。HTML 2.0是由IETF,因特網(wǎng)工程任務(wù)組(Internet Engineering Task Force)制定的。在W3C成立之前,IETF已經(jīng)發(fā)布了不少標(biāo)準(zhǔn)。但從第三個(gè)版本開始往后,W3C,萬維網(wǎng)聯(lián)盟(World Wide Web Consortium)開始接手,并負(fù)責(zé)后續(xù)版本的制定工作。
20世紀(jì)九十年代HTML有過幾次快速的發(fā)展。眾所周知,在那個(gè)時(shí)代要想構(gòu)建網(wǎng)站,可是一項(xiàng)十分復(fù)雜的工程。瀏覽器大戰(zhàn)曾令人頭疼不已。市場競爭的 結(jié)果就是各家瀏覽器里都塞滿了各種專有的特性,都試圖在專有特性上勝人一籌。當(dāng)時(shí)的混亂程度不堪回首,HTML到底還重不重要,或者它作為Web格式的前 景如何,誰都說不清楚。
從1997年到1999年,HTML的版本從3.2到4.0到4.01,經(jīng)歷了非??斓陌l(fā)展。問題是到了4.01的時(shí)候,W3C的認(rèn)識(shí)發(fā)生了倒退, 他們說“好了,這個(gè)版本就這樣了,HTML也就這樣了;HTML 4.01是HTML的最后一個(gè)版本了,我們用不著HTML工作組了。”
W3C并沒有停止開發(fā)這門語言,只不過他們對(duì)HTML不再感興趣了。在HTML 4.01之后,他們提出了XHTML 1.0。雖然聽起來完全不同,但XHTML 1.0與HTML 4.01其實(shí)是一樣的。我的意思是說,從字面上看這兩個(gè)規(guī)范的內(nèi)容是一樣的,詞匯表是一樣的,所有的元素是一樣,所有的屬性也都是一樣的。唯一一點(diǎn)不同之 處,就是XHTML 1.0要求使用XML語法。也就是說,所有屬性都必須使用小寫字母,所有元素也必須使用小寫字母,所有屬性值都必須加引號(hào),你還得記著使用結(jié)束標(biāo)簽,記著 對(duì)img和br要使用自結(jié)束標(biāo)簽。
從規(guī)范本身的內(nèi)容來看,實(shí)際上是相同的,沒有什么不同。不同之處就是編碼風(fēng)格,因?yàn)閷?duì)瀏覽器來說,讀取符合HTML 4.01、HTML 3.2,或者XHTML 1.0規(guī)范的網(wǎng)頁都沒有問題,對(duì)瀏覽器來說這些網(wǎng)頁都是一樣的,都會(huì)生成相同的DOM樹。只不過人們會(huì)比較喜歡XHTML 1.0,因?yàn)椴簧偃苏J(rèn)同它比較嚴(yán)格的編碼風(fēng)格。
到了2000年,Web標(biāo)準(zhǔn)項(xiàng)目(Web Standards Project)的活動(dòng)開展得如火如荼,開發(fā)人員對(duì)瀏覽器里包含的那些亂七八糟的專有特性已經(jīng)忍無可忍了。大家都很生氣,就罵那些瀏覽器廠商“遵守個(gè)規(guī)范 就他媽的真有那么難嗎?”當(dāng)時(shí)CSS有了長足的發(fā)展,而且與XHTML 1.0結(jié)合得也很緊密,CSS加XHTML 1.0基本上就可以算是“最佳實(shí)踐”了。雖然在我看來HTML 4.01與XHTML 1.0沒有本質(zhì)上的不同,但大家都接受了。專業(yè)的開發(fā)人員能做到元素全部小寫,屬性全部小寫,屬性值也全部加引號(hào):由于專業(yè)人員起到了模范帶頭作用,越來 越多的人也都開始支持這種語法。
我就是一個(gè)例子!過去的10年,我一直都使用XHTML 1.0文檔類型,原因是這樣一來驗(yàn)證器就能給我?guī)蜕虾艽蟮拿?,?duì)不對(duì)?只要我寫的是XHTML 1.0,然后用驗(yàn)證器測試,它就能告訴我是不是忘了給屬性值加引號(hào),是不是沒有結(jié)束某個(gè)標(biāo)簽,等等等等。而如果我寫的是HTML 4.01,同樣的問題就變成了有效的了,驗(yàn)證器就不一定會(huì)提醒我了。
這就是我一直使用XHTML 1.0的原因。我估計(jì)很多人都……使用XHTML 1.0的朋友,請(qǐng)把手舉起來。好的。HTML 4.01呢?人少多了。一直沒有舉手的呢,大聲點(diǎn),你們用什么?HTML5,也很好!更早的呢,還有人使用更早的文檔類型嗎?沒有了?
10年來我一直使用XHTML 1.0,就是因?yàn)轵?yàn)證器能夠真正幫到我。有人用XHTML 1.1嗎?你知道有人用嗎?請(qǐng)舉手,別放下。有人把網(wǎng)頁標(biāo)記為XML文檔嗎?有嗎?那你們使用的就不是XHTML 1.1。
這就是個(gè)大問題。XHTML 1.0之后是XHTML 1.1,只是小數(shù)點(diǎn)后面的數(shù)字加了一個(gè)1,而且從詞匯表的角度看,規(guī)范本身沒有什么新東西,元素也都相同,屬性也都相同。但對(duì)XHTML 1.1來說,唯一的變化是你必須把自己的文檔標(biāo)記為XML文檔。在使用XHTML 1.0的時(shí)候,還可以把文檔標(biāo)記為HTML,而我們也正是這樣做的,否則把文檔標(biāo)記為XML沒準(zhǔn)真會(huì)把人逼瘋的。
為什么這么說呢?首先,把文檔標(biāo)記為XML后,Internet Explorer不能處理。當(dāng)然,IE9是可以處理了。恐怕有人會(huì)講“真是太可愛了”,他們到現(xiàn)在居然都沒有忘了這件事。這艘船終于靠岸了!不過那時(shí)候, 作為全球領(lǐng)先的瀏覽器,IE無法處理接收到的XML文檔類型的文檔,而規(guī)范又要求你以XML文檔類型來發(fā)送文檔,這不把人逼瘋才怪呢。
所以說XHTML 1.1有點(diǎn)脫離現(xiàn)實(shí),而你不想把文檔以XML格式發(fā)送給那些能夠理解XML的瀏覽器,則是因?yàn)閄ML的錯(cuò)誤處理模型。XML的語法,無論是屬性小寫,元素 小寫,還是始終要給屬性值加引號(hào),這些都沒有問題,都很好,事實(shí)上我也喜歡這樣做,但XML的錯(cuò)誤處理模型卻是這樣的:解析器如果遇到錯(cuò)誤,停止解析。規(guī) 范里就是這么寫的。如果你把XHTML 1.1標(biāo)記為XML文檔類型,假設(shè)你用Firefox打開這個(gè)文檔,而文檔中有一個(gè)和號(hào)(&)沒有正確編碼,就算整個(gè)頁面中就這一處錯(cuò)誤,你看到 的也將是黃屏,瀏覽器死掉了。Firefox會(huì)說:“沒戲了,頁面中有一個(gè)錯(cuò)誤,你看不到這個(gè)網(wǎng)頁了?!备鶕?jù)XML規(guī)范,這樣處理是正確的,對(duì) Firefox而言,遇到錯(cuò)誤就停止解析,并且不呈現(xiàn)其他任何內(nèi)容是嚴(yán)格按照XML規(guī)范做的。因?yàn)樗皇荋TML,HTML根本就沒有錯(cuò)誤處理模型,但根 據(jù)XML規(guī)范,這樣做沒錯(cuò)。
這就是為什么你不會(huì)把文檔標(biāo)記為XML的另一個(gè)原因。接下來,新的版本是XHTML 2,大家注意后面沒有日期,因?yàn)檫@個(gè)規(guī)范并沒有完成。
現(xiàn)在就說說XHTML 2,我很愿意把問題說清楚,XHTML 2實(shí)際上真是一個(gè)非常非常好的規(guī)范,確實(shí)非常好……從理論的角度來說。我的意思是說,制定這個(gè)規(guī)范的人都是非常非常有頭腦的。直說吧,領(lǐng)導(dǎo)制定這個(gè)規(guī)范的 家伙是斯蒂芬·彭伯頓(Stephen Pemberton),他應(yīng)該是本地人,是一個(gè)聰明過人的家伙。規(guī)范本身也很了不起,如果所有人都同意使用的話,也一定是一個(gè)非常好的格式。只不過,還不 夠?qū)嶋H。
首先,XHTML 2仍然使用XML錯(cuò)誤處理模型,你必須保證以XML文檔類型發(fā)送文檔;這一點(diǎn)不言自明:沒人愿意這樣做。其次,XHTML 2有意不再向后兼容已有的HTML的各個(gè)版本。他們甚至曾經(jīng)討論過廢除img元素,這對(duì)每天都在做Web開發(fā)的人來說確實(shí)有點(diǎn)瘋了的味道。但我們知道,他 們之所以這樣做,理論上確實(shí)有充足的理由——使用object元素可能會(huì)更好。
因此,無論XHTML 2在理論上是多么完美的一種格式,但卻從未有機(jī)會(huì)付諸實(shí)踐。而之所以難以將其付諸實(shí)踐,就是因?yàn)橄衲阄疫@樣的開發(fā)人員永遠(yuǎn)不會(huì)支持它,它不向后兼容。同樣,瀏覽器廠商也不會(huì),瀏覽器廠商必須要保證向后兼容。
為什么XHTML 1.1沒有像XML那樣得到真正廣泛地應(yīng)用,為什么XHTML 2從未落到實(shí)處?因?yàn)樗`反了一條設(shè)計(jì)原理,這條設(shè)計(jì)原理就是著名的伯斯塔爾法則(Postel’s Law)。大家都知道:
發(fā)送時(shí)要保守;接收時(shí)要開放。
沒錯(cuò),接收的時(shí)候要開放,而這也正是Web得以構(gòu)建的基礎(chǔ)。開發(fā)瀏覽器的人必須敞開胸懷,接收所有發(fā)送給瀏覽器的東西,因?yàn)樗鼈冞^去一直都在接收那 些不夠標(biāo)準(zhǔn)的東西,對(duì)不對(duì)?Web上的很多文檔都不規(guī)范,但那正是Web發(fā)展的動(dòng)力。從某種角度講,Web走的正是一條混沌發(fā)展之路,雖然混沌,但卻非常 美麗誘人。在Web上,格式不規(guī)范的文檔隨處可見,但那又怎樣呢?如果所有人都能夠?qū)懗鼍珳?zhǔn)的XML,所有文檔的格式都十分正確,那當(dāng)然好了??墒?,那不 現(xiàn)實(shí)?,F(xiàn)實(shí)是伯斯塔爾法則。
作為專業(yè)人士,在發(fā)送文檔的時(shí)候,我們會(huì)盡量保守一些,盡量采用最佳實(shí)踐,盡量確保文檔格式良好。但從瀏覽器的角度說,它們必須以開放的姿態(tài)去接收任何文檔。
有人可能會(huì)說XML有錯(cuò)誤處理模型,XHTML 1.1和XHTML 2都使用該模型,但那個(gè)錯(cuò)誤處理模型太苛刻了。它絕對(duì)不符合接收時(shí)開放這個(gè)法則,遇到一個(gè)錯(cuò)誤就停止解析怎么能叫開放呢?我們只能說它與健壯性法則(也就是伯斯塔爾法則)是對(duì)立的.
歡迎留言、轉(zhuǎn)載、分享…轉(zhuǎn)載本文章請(qǐng)關(guān)注!網(wǎng)站建設(shè)選擇北京瑩晨設(shè)計(jì)m.ww520ww.com
-
男女程序員的對(duì)比,那個(gè)更適合這個(gè)行業(yè).
日期:2016-02-24 瀏覽次數(shù):2904
-
網(wǎng)站布局之價(jià)格表單設(shè)計(jì)靈感來源。
日期:2015-12-14 瀏覽次數(shù):2960
-
JS判斷移動(dòng)設(shè)備并實(shí)現(xiàn)跳轉(zhuǎn)至手機(jī)版網(wǎng)頁
日期:2015-12-14 瀏覽次數(shù):3074
-
HTML5的設(shè)計(jì)原理之求真務(wù)實(shí)。
日期:2015-07-31 瀏覽次數(shù):2499
-
HTML5的設(shè)計(jì)特性!
日期:2015-07-31 瀏覽次數(shù):2499
-
免費(fèi)SSL證書申請(qǐng)網(wǎng)站topssl.cn上線
日期:2024-09-23 瀏覽次數(shù):1089
-
如何在北京順義尋找一個(gè)踏實(shí)的網(wǎng)站建設(shè)公司
日期:2023-08-10 瀏覽次數(shù):4141
-
順義網(wǎng)站建設(shè):北京順義網(wǎng)站建設(shè)的優(yōu)點(diǎn)
日期:2023-05-25 瀏覽次數(shù):4565
-
選擇網(wǎng)站公司需要考慮哪些因素
日期:2023-05-25 瀏覽次數(shù):3425
-
北京模板建站
日期:2023-03-28 瀏覽次數(shù):3606
-
HTTPS技術(shù)如何比HTTP更安全
日期:2019-04-24 瀏覽次數(shù):2485
-
如何有效的打造品牌網(wǎng)站形象
日期:2018-11-21 瀏覽次數(shù):3398
-
網(wǎng)站成功的4個(gè)關(guān)鍵設(shè)計(jì)元素
日期:2019-04-03 瀏覽次數(shù):2166
-
移動(dòng)網(wǎng)站設(shè)備指導(dǎo)原則
日期:2019-01-28 瀏覽次數(shù):2475
-
如何分析和超越你最大的SEO競爭對(duì)手
日期:2019-04-03 瀏覽次數(shù):2283