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网络語法允许浏览者编辑访问的网页。

参看[编辑]

外部链接[编辑]