HTML

維基百科,自由的百科全書
前往: 導覽搜尋
HTML
HTML source code example.svg
一段用語法突顯的HTML原始碼
副檔名 .html, .htm
網路媒體型式 text/html
型別代碼 TEXT
統一型別標識 public.html
開發者

全球資訊網協會(W3C)

網頁超文字技術工作小組(WHATWG)
格式 標示語言
延伸自 SGML
延伸至 XHTML
HTML
HTML.svg

超文件標示語言英文HyperText Markup LanguageHTML)是為「網頁建立和其它可在網頁瀏覽器中看到的資訊」設計的一種標示語言。HTML被用來結構化資訊——例如標題、段落和列表等等,也可用來在一定程度上描述文件的外觀和語意。1982年由蒂姆·伯納斯-李建立,由IETF用簡化的SGML(標準通用標示語言)語法進行進一步發展的HTML,後來成為國際標準,由全球資訊網協會(W3C)維護。

HTML檔案最常用的副檔名副檔名)為.html,但是有如DOS等的舊作業系統限制副檔名最多為3個文字元號,所以.htm副檔名也允許使用。而如今.htm副檔名的使用較為減少。編者可以使用任何基本的文字編輯器(例如Notepad等)或所見即所得HTML編輯器來編輯HTML檔案。

早期的HTML語法規則定義較為鬆散,這有助於不熟悉網路出版的人使用或變更。網頁瀏覽器接受這類的檔案,使之可以顯示語法不嚴格的網頁。隨著時間的流逝,官方標準漸漸趨於嚴格的語法,但是瀏覽器繼續顯示一些仍不合乎標準的HTML。使用XML的嚴格規則的XHTML(可延伸超文件標示語言)是W3C計劃中的HTML的接替者。雖然很多人認為它已經成為當前的HTML標準,但是它實際上是一個獨立的、和HTML平行發展的標準。W3C目前建議使用XHTML 1.1、XHTML 1.0或者HTML 4.01標準編寫網頁,但已有許多網頁轉用較新的HTML5編碼撰寫(如Google)。

發展歷史[編輯]

1980年,蒂姆·伯納斯-李為使世界各地的物理學家能夠方便的進行合作研究,建立了使用於其系統的HTML。Tim Berners-Lee設計的HTML以純文字格式為基礎,可以使用任何文字編輯器處理,最初僅有少量標記(TAG)而易於掌握運用。隨著HTML使用率的增加,人們不滿足只能看到文字。1993年,還是大學生的馬克·安德生在他的Mosaic瀏覽器加入<img>標記,從此可以在Web頁面上瀏覽圖片。但人們認為僅有圖片還是不夠,希望可將任何形式的媒體加到網頁上。因此HTML不斷地擴充和發展。

標準的版本歷史[編輯]

HTML[編輯]

HTML沒有1.0版本是由於當時有很多不同的版本。有些人認為蒂姆·伯納斯-李的版本應該算初版,這個版本沒有IMG元素。當時被稱為HTML+的後續版開發工作於1993年開始,最初被設計成為「HTML的一個超集」。第一個正式規範在為了和當時的各種HTML標準區分開來,使用了2.0作為其版本號。HTML+的發展繼續下去,但是它從未成為標準。

HTML3.0規範是由當時剛成立的W3C於1995年3月提出,提供了很多新的特性,例如表格、文字繞排和複雜數學元素的顯示。雖然它是被設計用來相容2.0版本的,但是實現這個標準的工作在當時過於複雜,在草案於1995年9月過期時,標準開發也因為缺乏瀏覽器支援而中止了。3.1版從未被正式提出,而下一個被提出的版本是開發代號為Wilbur的HTML 3.2,去除大部分3.0中的新特性,並加入某些特定瀏覽器,例如NetscapeMosaic的元素和屬性。HTML對數學公式的支援最後成為另外一種被稱為MathML的標準。

HTML 4.0同時加入了其他特定瀏覽器的元素和屬性,但也有部分舊時元素和屬性標準被清除,建議不再使用。

目前發展中的最新版本HTML 5並包含CSSJavaScript等使用機能,以減少瀏覽器對於FLASH等外掛程式的需要,以達到更加完整的應用性質。

HTML的實際執行[編輯]

HTML(網頁)於電腦系統上的實際執行應用,曾因其常需要網路通訊才可工作的方式,被部分用戶誤認網頁是在線執行的。雖然現在大部分網頁都使用AJAX技術,需與伺服器不停交換資料,但這其實是錯誤的觀念。HTML發明的理由之一是要加速在線執行的效率與資料交換的便利,可是HTML並不是實際的在線執行,下面的程式是HTML實際於電腦系統中的真實程式:

  1. 使用者於電腦中的網頁瀏覽器輸入網址(URL),該網址可以是網際網路(Internet),也可以是企業網路(Intranet)或是電腦本機的一個位置。
  2. 若使用者輸入的網址為Internet,則瀏覽器會先將該網頁全部下載至使用者本機的記憶體上(通常存於硬碟的暫存區)。微軟Internet Explorer還提供網際網路暫存空間,讓檢視網頁時,與網頁相關的檔案及圖片會儲存至電腦上的網際網路暫存檔資料夾中。
  3. 網頁瀏覽器打開下載的網頁檔案,依據HTML內的描述找到該URI內的各項網路資源,然後依序將資源下載到本機電腦。
  4. 網頁瀏覽器依據HTML的描述,將已經下載下來的各種網路資源(如圖形、文字)排列成HTML網頁設計者當初建置該網頁的樣式。
  5. 若使用者想要長期儲存該網頁及該網頁的網路資源,可以利用瀏覽器提供的儲存網頁的功能來進行,該功能執行時,其實使用者根本不需再次從網上下載任何資料,瀏覽器只是將原先存放於暫存區的網頁及已經下載好的網路資源,轉移至使用者指定的長期儲存區(可以是硬碟、光碟、或是隨身碟)。
  6. 在網路上的網頁只有一種格式,通常副檔名為.html或.htm,但是並不是只有這兩種格式才是網頁HTML,目前有許多動態網頁或是互動網頁其副檔名就不是.html或.htm,例如JSP技術的.jsp以及ASP.NET技術的.aspx等,其實這些檔案他的內容與格式確實與HTML不同,可是這種動態網頁,在瀏覽器閱讀時,收到請求的伺服器會自動產生HTML文檔給瀏覽器,所以瀏覽器閱讀到的是經過伺服器轉換過的標準HTML,所以才能順利展現HTML內所描述的樣式。

XHTML[編輯]

XHTML是以XML以及HTML為基礎開發的語法模式,但比HTML格式的語法要求較於嚴格。

  • XHTML 1.0——發行於2000年1月26日,是W3C推薦標準,後來經過修訂於2002年8月1日重新發行。
  • XHTML 1.1,於2001年5月31日發行,W3C推薦標準。
  • XHTML 2.0,W3C工作草案。
  • XHTML 5,從XHTML 1.x的更新版,基於HTML 5草案

標記元素型別[編輯]

【注意】一部分標記元素已在HTML5中停止使用,例如︰<b><i>等,並建議使用CSS代替。

  • 結構性標記,描述文字的意圖,例如:
    <h2>Golf</h2>
    
    指明瀏覽器將「Golf」顯示為二級標題。結構性標記並未指示瀏覽器的顯示方式,但是大多數瀏覽器標準化了這些元素的顯示,例如預設情況下上述的標題會被顯示為較大的粗體文字。參見層疊樣式表(CSS)。

比較常用的結構性標記包括:

html元素:標記HTML內容的開始和結束。
head元素:標記HTML檔案頭,包含不在正文中顯示的關鍵字、標題、指令碼等等。
title元素:標記HTML檔案的標題。
body元素:標記HTML檔案正文的開始和結束。

文字變化性標記[編輯]

決定文字的外觀,例如:

<b>boldface</b>

將「boldface」顯示為粗體文字。但是為了統一網站的風格,很多網路出版者使用CSS而不是重複使用呈現性標記。對於

<b>bold</b> 和 <i>italic</i>

也有更加明確的等價呈現性標記:

<strong>strong emphasis</strong>
<em>emphasis</em>

超連結標記[編輯]

將文件的一部分關聯到其他文件。例如:

<a href="http://wikipedia.org/">Wikipedia</a>
將會把Wikipedia顯示為一個超連結URL
  • 除了HTML內容之外,經常也有人在代碼中加入注釋:
    <!--This is a comment-->
    
    其中This is a comment會被隱藏,<!--註解-->註解中的<!---->就是隱藏的意思,僅僅起到說明代碼含義或者隱藏部分代碼的作用。

框架頁面標記[編輯]

描述網頁如何顯示框架網頁,但較低版本的瀏覽器並不支援此功能。

<frameset> </frameset>
代表定義一個框架。若在後加上rows="100,*",這代表網頁會開啟一個上下分割網頁的框架,而上框架網頁的高度是100px。加上cols="100,*"代表網頁左右分割,左框架的網頁闊度是100px
<frame name="left" src="left.html" />
代表框架頁的名稱及檔案來源,其中「/」為關閉符號,用於沒有對應結束標記,單獨存在的標記,如<br />。這個語法運用在<frameset> </frameset>之間。

每個標記都有特定的屬性。由於對標準的支援度相差很大,一些標記和屬性可能只被部分瀏覽器支援。

檔案型別描述[編輯]

為了說明文件使用的HTML標準,所有HTML文件應該以「檔案型別宣告」(<!DOCTYPE>)開頭,參照一個檔案型別描述。舉例來說:

<!DOCTYPE HTML>
  • 此宣告表示以下的檔案以HTML語法作成。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                        "http://www.w3.org/TR/html4/strict.dtd">
  • 這個宣告說明文件服從HTML 4.01的嚴格檔案型別描述,這個標準是嚴格結構化的,使用CSS來做格式化。有時是否存在一個合適的檔案型別描述會影響一個瀏覽器顯示網頁的方式。

除了HTML 4.01的嚴格檔案型別描述之外,HTML 4.01也提供「過渡」和「框架集」檔案型別描述。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                        "http://www.w3.org/TR/html4/loose.dtd">
  • 過渡檔案型別描述是向嚴格的檔案型別描述過渡的緩衝。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
                        "http://www.w3.org/TR/html4/frameset.dtd">
  • 框架集檔案型別描述則針對包含框架元素的網頁。

分離樣式和內容[編輯]

網路開發社群的努力導致一種新的網頁編寫潮流,XHTML就是一個典型。標準著重於描述網頁結構的元素,例如標題、段落、引言和表格,而不是那些用於呈現的元素,例如<font><b>(粗體)和<i>(斜體)。在一些HTML變體中這些元素甚至被禁用,例如HTML 4.01的嚴格版本。CSS提供了一種分離HTML結構和內容呈現的方式:把所有呈現代碼移到單獨的CSS檔案。

使用HTTP發行HTML[編輯]

全球資訊網主要由從伺服器透過HTTP協定向瀏覽器傳送的HTML文件組成。但是,HTTP也可以被用於傳輸HTML之外的資料,例如影像、聲音和其他內容。為使瀏覽器了解如何處理接收到的文件,在傳輸文件時必須同時傳遞檔案型別。這種後設資料包含MIME型別(對於HTML 4.01或更早版本是text/html,而對於XHTML 1.0或之後的版本是application/xhtml+xml),以及字元編碼(參見HTML字元編碼方式)。

在現在的瀏覽器中,和HTML文件一起傳送的MIME型別影響文件的解讀方式。和XHTML MIME型別一起傳送的文件被認為是良構XML,而語法錯誤會導致瀏覽器無法呈現文件。完全相同的文件如果和HTML MIME型別一起傳送,則可能被正常顯示,因為瀏覽器對HTML的語法檢查更加鬆懈些。

HTML格式的電子信件[編輯]

一些圖形模式下的電子信件客戶端支援HTML格式的信件。很多支援一個圖形模式下的HTML信件編輯器,以及一個HTML信件閱覽器。因為一些問題,HTML信件的使用有爭議。HTML信件的主要優點是可以使用呈現性元素來加強信件的視覺效果,但是缺陷也很多,例如

  • 收件人未必有一個可以瀏覽HTML信件的客戶端
  • 信件大小增加。一些信件客戶端隨HTML信件傳送一個純文字版更加重了這個問題
  • 過度使用格式化
  • 潛在安全問題,例如偽造銀行電子信件用於網路釣魚
  • 在一些有缺陷的電子信件程式顯示HTML信件時可能執行惡意代碼

因為這些原因,很多新聞群組信件列表要麼截斷信件的HTML部分,要麼只接受純文字版本部分的信件,要麼拒絕接收HTML信件。

HTML超文字格式[編輯]

HTML是一種相對比較弱的超文字實現。早期超文字系統具有型別的連結、跨越包含來源跟蹤這樣的屬性。另一個現在缺乏支援的特性是粗鏈路。 直到不久之前,一些早期HTML版本中的超文字特性一直被大多數瀏覽器忽略,例如link元素和可編輯的網頁。

有時網路服務或者瀏覽器廠商也認識到這些特性。例如,目前的wikinuke網路語法允許瀏覽者編輯存取的網頁。

參看[編輯]

外部連結[編輯]