我的HTML總結之HTML發展史

来源:https://www.cnblogs.com/chaixiaozhi/archive/2018/02/25/6662148.html
-Advertisement-
Play Games

HTML是Web統一語言,這些容納在尖括弧里的簡單標簽,構成瞭如今的Web。 1991年,Tim Berners-Lee編寫了一份叫做“HTML標簽”的文檔,裡面包含了大約20個用來標記網頁的HTML標簽。他直接借用SGML的標記格式,也就是後來我們看到的HTML標記的格式。 從IETF到W3C:H ...


HTML是Web統一語言,這些容納在尖括弧里的簡單標簽,構成瞭如今的Web。

 

1991年,Tim Berners-Lee編寫了一份叫做“HTML標簽”的文檔,裡面包含了大約20個用來標記網頁的HTML標簽。他直接借用SGML的標記格式,也就是後來我們看到的HTML標記的格式。

從IETF到W3C:HTML 4之路

HTML 1並不曾存在,HTML的第一個官方版本就是由IETF(互聯網工程任務組)推出的HTML 2.0。

後來,W3C取代IETF的角色,成為HTML的標準組織,1990年代的後半頁,HTML的版本被頻繁修改,直到1999年的HTML 4.01, 至此,HTML到達了它的第一個拐點。

XHTML 1:XML風格的HTML

HTML在HTML 4.01之後的第一個修訂版本就是XHTML 1.0,其中X代表“eXtensible”,擴展,當然也有人將之解讀為 “eXtreme”,極端。XHTML 1.0是基於HTML 4.01的,並沒有引入任何新標簽或屬性,唯一的區別是語法,HTML對語法比較隨便,而 XHTML則要求XML般的嚴格語法。

使用嚴格的語法規範並非壞事,要求開發者使用單一的代碼風格,比如,HTML4.01允許你使用大寫或小寫字母標識標記元素和屬性,XHTML則只 允許小寫字母。XHTML1.0的推出剛好碰上了CSS的崛起,Web開發設計者們開始意識到Web標準問題,基於XHTML的嚴格語法規範被視為編寫 HTML代碼的最佳實踐。

W3C推出XHTML 1.1

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

出力不討好的XHTML 2

對W3C而言,到了HTML 4已經是功德圓滿,他們的下一步工作是XHTML 2,希望將Web帶向XML的光明未來。雖然XHTML 2聽上去和XHTML 1類似,它們卻有很多差別,XHTML 2不向前相容,甚至不相容之前的HTML。它是一種全新的語言,赤條條來去無牽掛。這實在是一場災難。

WHATWG:與W3C決裂

W3C閉門造車的作風引起了一些人的不滿,來自Opera,Apple,以及Mozilla的代表開始表達反對聲音。2004年,Opera的 Ian Hickson提議在HTML基礎上進行擴展以適應新的Web應用,該提議遭到W3C的拒絕。於是,他們自發組織成立了超文本應用技術工作組,就是WHATWG。

從WebApps1.0到HTML 5

從一開始,WHATWG就和W3C走不同的路線,W3C對問題的討論是集體投票,而WHATWG則由主筆IanHickson定度。錶面上看,W3C更民主,然而事實上,各種內部紛爭會使一些決議限於泥潭,在WHATWG,事情的進展會更容易,不過,主筆的權力並非無限大,他們的委員會可以對那些過於偏執的主筆進行彈劾。

一開始,WHATWG的主要工作包括兩部分,Web Forms 2.0和Web Apps 1.0,它們都是HTML的擴展,後來,他們合併到一起成為現在的HTML 5規範。在WHATWG致力於HTML 5的同時,W3C繼續他們的XHTML 2.0,然而,他們慢慢地陷入困境。

2006年10月,Web之父Tim Berners-Lee發表了一篇博客文章,表示,從HTML走向XML的路是行不通的,幾個月後,W3C組建了一個新的HTML工作組,他們非常明智地 選擇了WHATWG的成果作為基礎。這一轉變帶來一些困惑,W3C同時進行這兩套規範,XHTML2和HTML 5(註意,W3C的HTTML5在5之前有個空格,而WHATWG的HTML 5則沒有空格),而WHATWG也在進行著同樣的工作。

XHTML已死:XHTML語法永存

這一混亂局面到了2009年開始變得清晰,W3C宣佈終止XHTML2的工作,這是一份關於XHTML2的遲到的訃告。這一消息被那些XML的反對 者視為珍寶,他們藉此嘲笑那些使用XHTML1規範的人,然而他們似乎忘記了,XHTML1和XHTML2是截然不同的東西。於此同時,XHTML1規範的制定者擔心,XHTML1中的嚴格語法規範會被HTML 5棄用,這種擔心後來證明是多餘的,HTML 5既支持鬆散語法,也支持XHTML1般的嚴格語 法。

HTML 5路線圖

HTML 5的現狀是,它不再象以前那樣讓人困惑,然而仍不夠明朗。有兩個組織在同時制定它的規範,這兩個組織有著完全不同的行事風格,WHATWG是先買後嘗,W3C是先嘗後買,他們形成了一個不太靠譜的聯姻,最終人們必將面臨一個HTML 5還是HTML 5的問題。更讓開發者困惑的是,他們什麼時候才可以試水HTML 5。

在一次訪談中,Ian Hickson提到了2022,表示要到那時HTML 5才會形成"推薦標準",此話一齣,立刻招來Web設計者們的憤怒,儘管他們不知道推薦標準時什麼意思,但他們明白,2022已經是猴年馬月的事了。

這還不算,更重要的是,這個推薦標準涉及兩套規範,考慮到HTML 5標準的規模,這個日期還是太樂觀了,畢竟,各大瀏覽器以往對既有標準的相容並不遂人意,想當初,IE花了10年才接納abbr這個標簽。

2012年,HTML 5會被接納為候選標準,這將是HTML 5真正開始發力的日子。對Web開發設計者來說,這並不重要,重要的是瀏覽器的支持,就像CSS2.1,當有瀏覽器開始支持這一規範的時候,就有開發設計者在使用了,倘若必須等到所有瀏覽器都支持才開始入手,恐怕我們現在還在等待中。

HTML 5也一樣,並不會有一個時間點,宣佈HTML 5已經準備妥當,相反,我們會先開始使用它的部分功能,HTML 5並不是一個從零開始全新的東西,它是舊的HTML標準的改進,事實上,不管你正在使用的HTML是哪個版本,你已經在使用HTML 5了。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 基本信息 例子 和協議配合使用的比較多 方法介紹 ...
  • NSData 嘗試這個例子之前,請在Demo工程的info.plist文件中加入App Transport Security Settings鍵值,並加入Allow Arbitrary Loads:YES鍵值對,用來開啟iOS下的非安全連接。 可以這樣用 map函數 如果我們使用NSData的rac ...
  • 本文最初發表於 "博客園" ,併在 "GitHub" 上持續更新 前端的系列文章 。歡迎在GitHub上關註我,一起入門和進階前端。 以下是正文。 Bootstrap 介紹 Bootstrap 是非常流行的前端框架。特點是:靈活簡潔、代碼優雅、美觀大方。它是由Twitter的兩名工程師 Mark O ...
  • github 地址 : https://github.com/gebin/eslint-demo 運行該項目 npm install npm start 訪問 http://localhost:9000 一步一步構建該項目 一開始我想整一個項目,測試一下eslint是怎麼玩的,然後我想要基於webp ...
  • 什麼是js垃圾回收?(what) JavaScript中也具有自動垃圾回收機制(GC:Garbage Collection); 因為記憶體內容是極其有限的,所以垃圾收集器會定期(周期性)找出那些不在繼續使用的變數,然後釋放記憶體 其中不再使用的變數一般只可能是局部變數,即在函數執行結束的時候,所使用的局 ...
  • prop()函數的結果: 1.如果有相應的屬性,返回指定屬性值。 2.如果沒有相應的屬性,返回值是空字元串。 attr()函數的結果: 1.如果有相應的屬性,返回指定屬性值。 2.如果沒有相應的屬性,返回值是undefined。 對於HTML元素本身就帶有的固有屬性,在處理時,使用prop方法。 對 ...
  • 表單是Web中實現交互的重要方法,用於收集用戶信息並提交給伺服器。 表單中的9大控制項 ...
  • HTML:是Hyper Text Markup Language(超級文本標記語言)的縮寫,HTML不是一種程式,只是一種控制網頁中數據顯示的標識語言。 HTML由一組標簽組成。 HTML的基本結構 <html> <head> <title>第一個HTML示例</title> </head> <bo ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...