HTML

超文字標記語言是一種用於建立網頁的標準標記語言。HTML是一種基礎技術，常與CSS、JavaScript一起被眾多網站用於設計網頁、網頁應用程式以及移動應用程式的使用者介面。網頁瀏覽器可以讀取HTML檔案，並將其渲染成視覺化網頁。HTML描述了一個網站的結構語義隨著線索的呈現，使之成為一種標記語言而非程式語言。HTML元素是構建網站的基石。HTML允許嵌入影象與物件，並且可以用於建立互動式表單，它被用來結構化資訊——例如標題、段落和列表等等，也可用來在一定程度上描述文件的外觀和語義。HTML的語言形式為尖括號包圍的HTML元素，瀏覽器使用HTML標籤和指令碼來詮釋網頁內容，但不會將它們顯示在頁面上。HTML可以嵌入如JavaScript的指令碼語言，它們會影響HTML網頁的行為。網頁瀏覽器也可以引用層疊樣式表鼓勵人們使用CSS替代一些用於表現的HTML元素。歷史.發展.1980年，物理學家蒂姆·伯納斯-李在歐洲核子研究中心在承包工程期間，為使CERN的研究人員使用並-{zh-hans:共享; zh-hant:共享}-文件，他提出並建立原型系統ENQUIRE。1989年，伯納斯-李在一份備忘錄中提出一個基於網際網路的超文本系統。他-{zh-hans:規定; zh-hant:制定}-HTML並在1990年底寫出瀏覽器和伺服器軟體。同年，伯納斯-李與CERN的資料系統工程師羅伯特·卡里奧聯合為專案申請資助，但未被CERN正式批准。在他的個人筆記中伯納斯-李列舉“一些使用超文字的領域”，並把百科全書列為-{zh-hans:首位; zh-hant:第一項}-。HTML的-{zh-hans:首個; zh-hant:首次}-公開描述出現於一個名為HTML Tags的檔案中，由蒂姆·伯納斯-李於1991年底提及。它描述18個元素，包括HTML初始的、相對簡單的設計。除了超連結標籤外，其他設計都深受CERN內部一個以標準通用標記語言為基礎的檔案格式SGMLguid的影響。這些元素仍有11個存在於HTML 4中。伯納斯-李認為HTML是SGML的一個應用程式。1993年中期網際網路工程任務組”建議規範已經實現的功能，如表格與填寫表單。在HTML和HTML+的草案於1994年初到期後，IETF建立一個HTML工作組，並在1995年完成"HTML 2.0"，這是第一個旨在成為對其後續實現標準的依據的HTML規範。在IETF的-{zh-hans:主持; zh-hant:主導}-下，HTML標準的進一步發展因競爭利益而遭受停滯。自1996年起，HTML規範一直由全球資訊網聯盟開始開發HTML5，並在2008年與W3C共同-{zh-hans:交付; zh-hant:提出}-，2014年10月28日完成標準化。; 1995年11月24日: HTML 2.0作為IETF RFC 1866釋出。追加RFC的附加功能：* 1995年11月25日：RFC 1867* 1996年5月：RFC 1942* 1996年8月：RFC 1980* 1997年1月：RFC 2070; 1997年1月14日: HTML 3.2作為W3C推薦標準釋出。這是首個完全由W3C開發並標準化的版本，因IETF於1996年9月12日關閉它的HTML工作組。最初代號為“威爾伯”，HTML 3.2完全去除數學公式，協調各種專有擴充套件，並採用網景設計的大多數視覺標記標籤。由於兩家公司達成了-{zh-hans:協議; zh-hant:協議}-，網景的Blink元素和微軟的Marquee元素被移除。HTML對數學公式的支援最後成為另外一種被稱為MathML的標準。; 1997年12月18日: HTML 4.0作為W3C推薦標準釋出。它提供三種變化：* 嚴格，過時的元素被禁止。* 過渡，過時的元素被允許。* 框架集，大多隻與框架相關的元素被允許。最初代號“美洲獅”， HTML 4.0採用許多特定瀏覽器的元素型別和屬性，並試圖淘汰網景的視覺標記功能，將其標記為不贊成使用。HTML 4是遵循ISO 8879 - SGML的SGML應用程式。; 2014年10月28日: HTML 5作為W3C推薦標準釋出。2011年5月，工作小組將HTML5推進至“最終徵求”階段，邀請W3C社群內外人士以確認本規範的技術可靠性。W3C開發一套綜合性測試套件來實現完整規範的廣泛互動操作性，完整規範的目標日期為2014年。2011年1月，WHATWG將其“HTML5”活動標準重新命名為“HTML”。W3C仍然繼續其釋出HTML5的專案。2012年7月，WHATWG和W3C的工作產生一定程度的分離。W3C繼續HTML5規範工作，重點放在單一明確的標準上，這被WHATWG稱為“快照”。WHATWG組織則將HTML5作為一個“活動標準”。活動標準的概念是從未完成但永遠保持更新與改進，可以新增新特性，但功能點不會被刪除。2012年12月，W3C指定HTML5作為候選推薦階段。該階段的標準為“兩個100％完成，完全實現互動操作”。2014年9月，HTML5進入提案推薦階段。2014年10月28日，HTML5作為穩定W3C推薦標準釋出，這意味著HTML5的標準化已經完成。草案時間線.XHTML版本.XHTML是使用XML 1.0改寫自HTML 4.01的獨立語言。它不再被作為單獨標準開發。標記.HTML標記包含標籤、基於字元的資料型別、字元引用和實體引用等幾個關鍵部分。HTML標籤是最常見的，通常成對出現，比如與。這些成對出現的標籤中，第一個標籤是開始標籤，第二個標籤是結束標籤。兩個標籤之間為元素的內容，有些標籤沒有內容，為空元素，如。HTML另一個重要組成部分為，這會觸發標準模式渲染。以下是一個經典的Hello World程式的例子：和之間的文字描述網頁，和之間的文字為可視頁面內容。標記文字定義了瀏覽器的頁面標題。文件標記型別用於HTML5。 如果未進行宣告，瀏覽器會使用“怪異模式”進行渲染。元素.HTML文件由巢狀的HTML元素構成。它們用HTML標籤表示，包含於尖括號中，如在一般情況下，一個元素由一對標籤表示：“開始標籤”與“結束標籤”。元素如果含有文字內容，就被放置在這些標籤之間。在開始與結束標籤之間也可以封裝另外的標籤，包括標籤與文字的混合。這些巢狀元素是父元素的子元素。開始標籤也可包含標籤屬性。這些屬性有諸如標識文件區段、將樣式資訊繫結到文件演示和為一些如等的標籤嵌入影象、引用影象作用。一些元素如換行符，不允許嵌入任何內容，無論是文字或其他標籤。這些元素只需一個單一的空標籤，無需結束標籤。許多標籤是可選的，尤其是那些很常用的段落元素的閉合端標籤。HTML瀏覽器或其他媒介可以從上下文識別出元素的閉合端以及由HTML標準所定義的結構規則。這些規則非常複雜，不是大多數HTML編碼人員可以完全理解的。因此，一個HTML元素的一般形式為：。一些HTML元素被定義為空元素，其形式為。空元素不能封裝任何內容。例如標籤或內聯標籤。一個HTML元素的名稱即為標籤使用的名稱。注意，結束標籤的名稱前面有一個斜槓“/”，空元素不需要也不允許結束標籤。如果元素屬性未標明，則使用其預設值。例子.HTML文件的頁首：。標題被包含在頭部，例如：標題：HTML標題由到六個標籤構成，字型由大到小遞減：段落：換行：。與之間的差異是codice_2換行但不改變頁面的語義結構，而codice_3部分的頁面成段。連結：使用標籤來建立連結。codice_4屬性包含連結的URL地址。註釋：HTML中存在以下幾種型別的標記元素：屬性.大多數元素的屬性以“名稱-值”的形式成對出現，由“=”分離並寫在開始標籤元素名之後。值一般由單引號或雙引號包圍，有些值的內容包含特定字元，在HTML中可以去掉引號。不加引號的屬性值被認為是不安全的。有些屬性無需成對出現，僅存在於開始標籤中即可影響元素，如codice_6 元素的codice_9 屬性。許多元素存在一些共通的屬性：縮寫元素codice_20可用於說明一些屬性：這個例子顯示為HTML； 在大多數瀏覽器中，游標指向縮寫時會顯示標題文字“超文字標記語言”。大多數元素採用與語言相關的屬性codice_21 來指定文字方向，如 "rtl"採用從右到左的文字，比如阿拉伯語、波斯語以及希伯來語。字元與實體引用.在4.0版本中，HTML定義了一系列共252個字元實體引用和1,114,050個字元值參考。二者都支援單個字元透過簡單的標記寫入。文字字元與其對應的標記渲染的效果相同。用這種方式“轉義”字元的能力允許字元codice_22與codice_23。如果文件作者忽略了轉義這樣的字元，一些瀏覽器會嘗試透過上下文猜測他們的意圖。如果結果仍為無效標記，這會使其他瀏覽器或使用者代理難以訪問到該文件，並使它們嘗試使用搜索和索引來解析該文件。那些難以輸入或不在該文件字元編碼中的字元也可透過轉義來實現。例如通常只在西歐或南美的鍵盤出現的重音符codice_40，可以在HTML文件中用作實體引用codice_42 或數字引用codice_43或codice_44。 諸如UTF-8的Unicode字元編碼與所有的現代瀏覽器相容並允許直接訪問全球書寫系統幾乎所有的字元 。資料型別.HTML為元素內容定義了多種資料型別，如指令碼資料、樣式表資料以及許多屬性值的型別，包括ID、名稱、URI、數字長度單位、語言、媒體描述符顏色、字元編碼、日期和時間等等。所有這些資料型別都是字元資料的特殊化。文件型別宣告.HTML文件需要以開頭。在瀏覽器中，文件型別宣告有助於確定渲染模式——特別是是否使用怪異模式。文件型別宣告的初衷是透過基於文件型別定義的SGML工具來解析並驗證HTML文件。HTML5未定義DTD，所以在HTML5中文件型別宣告更為簡短：HTML 4文件型別宣告舉例：該宣告引用HTML 4.01“嚴格”版的DTD。基於SGML的驗證器可讀取DTD，正確解析這些文件並執行驗證。在現代瀏覽器中，一個有效的文件型別啟用標準模式有別於怪異模式。另外，HTML 4.01提供過渡型與框架集型的DTD。過渡型涵蓋最廣，它可整合當前以及老舊或“過時”的標籤，而嚴格型DTD排除了過時的標籤。框架集擁有所有構建框架所需的標籤以及過渡型的標籤。語義化HTML.語義化HTML是一種編寫HTML的方式，它強調編碼資訊的含義在其格式之上。HTML從創立之初就包括語義化標記，但也包括標識性標記如、和標籤。也存在一些語義上中立的span與div標籤。自1990年代末CSS開始應用於大多數瀏覽器，網頁製作者就被鼓勵使用CSS以便呈現與內容分離。在2001年一次對語義網的討論中，蒂姆·伯納斯-李等人給出了一種的方法，使智慧軟體“代理人”可能有一天會自動抓取網頁進行查詢、過濾並將之前不相關的聯絡起來。這種代理甚至在現在也不普遍，但一些Web 2.0、混搭和價格比較網站的想法可能會結束。這些網頁應用程式的混合與伯納斯-李的語義代理人的之間主要區別基於以下事實：當前的聚合與資訊混合通常由網頁開發者設計，他們早已知道網路位置和他們希望混搭、比較與結合的特定資料的API語義。網頁代理的一個重要型別是網路爬蟲或搜尋引擎蜘蛛。這些軟體代理依賴於它們發現的網頁的語義清晰度，因為它們一天要使用各種技術與演算法來讀取和索引數百萬個網頁並給網頁使用者提供搜尋工具，沒有這些全球資訊網的有效性就會大大降低。為使搜尋引擎蜘蛛評估它們在HTML文件中發現的文字片段的重要性，也為那些建立標記等混合的人與更多的自動化代理工具，HTML中的語義結構需要廣泛一致地應用從而將文字的含義呈現給瀏覽者。表示性標記在當前的HTML和XHTML推薦中不被鼓勵使用。舊版本HTML中的大多數表示功能不再被允許使用，因為它們導致可訪問性變差、站點維護成本變高和文件大小變大。好的語義化HTML也改善了網頁文件的可訪問性。例如，當螢幕閱讀器或音訊瀏覽器可以正確判定一個文件的結構時，視覺障礙使用者不會再因閱讀重複或無關的資訊而浪費時間。分發.HTML文件分發的方法和其他計算機檔案相同。不過，它們最常透過網頁伺服器的超文字傳輸協議或電子郵件傳輸。HTTP.全球資訊網主要由從伺服器透過HTTP協議向瀏覽器傳送的HTML文件組成。但是，HTTP也可以被用於傳輸HTML之外的資料，例如影象、聲音和其他內容。為使瀏覽器瞭解如何處理接收到的文件，在傳輸文件時必須同時傳遞檔案型別。這種元資料包含MIME型別。在現在的瀏覽器中，和HTML文件一起傳送的MIME型別影響文件的解讀方式。和XHTML MIME型別一起傳送的文件被認為是良構的XML，而語法錯誤會導致瀏覽器無法呈現文件。完全相同的文件如果和HTML MIME型別一起傳送，則可能被正常顯示，因為瀏覽器對HTML的語法檢查更加鬆懈些。W3C的推薦指出，遵循規定的推薦指引的XHTML 1.0文件可標記二者任一的MIME型別。XHTML 1.1還指出，XHTML 1.1文件應標有兩種MIME型別。HTML郵件.大多數圖形電子郵件客戶端允許使用HTML的子集提供格式化和無法使用純文字的語義標記。這可能包括印刷資訊，如彩色標題、強調和引用文字、內嵌圖片和圖表等。許多這樣的客戶包含一個編寫HTML電子郵件訊息的圖形使用者介面編輯器和一個用於顯示的渲染引擎。在郵件中使用HTML受到了一些相容性的批評，由於一些盲人或具有視覺障礙的人的訪問問題，這種方式有利於偽裝的釣魚攻擊。因其訊息大小超過明文，所以它可混淆垃圾郵件過濾器。命名規則.最常用的計算機副檔名為.html，通用縮寫為.htm。它起源於某些早期作業系統與檔案系統，如DOS以及FAT資料結構的侷限性，它將副檔名限制為3個字母。HTML應用程式.HTML應用程式並在本地檔案系統執行。所見即所得編輯器.所見即所得編輯器使用圖形使用者介面。