HTML5
扩展名 | .html , .htm |
---|---|
互联网媒体类型 |
text/html |
类型代码 | TEXT |
统一类型标识 | public.html |
开发者 | WHATWG |
首次发布 | 2008年1月22日 |
格式类型 | 置标语言 |
标准 | HTML LS |
自由格式? | 是 |
HTML |
---|
比较 |
HTML5[注 1]是HTML最新的修订版本,由万维网联盟(W3C)于2014年10月完成标准制定[2][3]。目标是取代1999年所制定的HTML 4.01和XHTML 1.0标准,以期能在网际网路应用迅速发展的时候,使网路标准达到符合当代的网路需求。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少网页浏览器对于需要外挂程式的丰富性网路应用服务(Plug-in-Based Rich Internet Application,RIA),例如:Adobe Flash、Microsoft Silverlight与Oracle JavaFX的需求,并且提供更多能有效加强网路应用的标准集。
HTML5添加了许多新的语法特征,其中包括<video>
、<audio>
和<canvas>
元素,同时整合了SVG内容。这些元素是为了更容易地在网页中添加和处理多媒体和图片内容而添加的。其它新的元素如<section>
、<article>
、<header>
和<nav>
则是为了丰富文档的数据内容。新的属性的添加也是为了同样的目的。同时也有一些属性和元素被移除掉了。一些元素,像<a>
、<cite>
和<menu>
被修改,重新定义或标准化。同时APIs和DOM已经成为HTML5中的基础部分[4]。HTML5还定义了处理非法文档的具体细节,使得所有浏览器和客户端程序能够一致地处理语法错误[5]。
发展历史
[编辑]网页超文本技术工作小组(WHATWG)于2004年开始制定新标准。当时,HTML 4.01自2000年以来从未更新[6],以及全球资讯网协会(W3C)正在将未来的发展重点放在XHTML 2.0。2009年,W3C允许XHTML 2.0工作组章程结束过期并且决定不再续订[7]。W3C与WHATWG合作共同为发展HTML5而努力[7]。
2004年6月,Mozilla基金会和Opera软体公司在全球资讯网协会(W3C)所主办的研讨会上提出了一份立场文件[8],其重点是开发与现有浏览器向后相容的技术[9],包括Web Forms 2.0最初草案规范。研讨会以8票赞成,14票反对的结果否决继续对HTML的开发工作[10]。此举引起一些人的不满,因此在研讨会之后,立即成立了网页超文本技术工作小组(WHATWG),并根据该目标展开工作,同时宣布第二个草案Web Applications 1.0[11]。后来这两种规范合并形成HTML5[12]。2007年,获得W3C接纳,并成立了新的HTML工作团队。2008年1月22日,第一份公开工作草案发布[13]。
尽管HTML5已经在网络开发人员中非常知名,但它成为主流媒体的话题是在2010年的4月[14][15][16][17],当时苹果公司的CEO乔布斯发表一篇题为“对Flash的思考”的文章,指出随着HTML5的发展,观看影片或其它内容时,Adobe Flash将不再是必须的[18]。这引发了开发人员间的争论,包括HTML5虽然提供了加强的功能,但开发人员必须考虑到不同浏览器对标准不同部分的支持程度的不同,以及HTML5和Flash间的功能差异[19]。
2014年10月28日,W3C正式发布HTML5推荐标准[20]。
时间表
[编辑]W3C的HTML5、5.1、5.2、5.3推荐标准时间表:
版本 | 初稿 | 候选 | 推荐 | 淘汰 |
---|---|---|---|---|
HTML5 | 2007年 | 2012年 | 2014年 | 2018年[21] |
HTML 5.1 | 2012年 | 2015年 | 2016年 | 2021年[22] |
HTML 5.2 | 2015年 | 2017年 | 2017年 | 2021年[23] |
HTML 5.3 | 2017年 | 不适用 | 不适用 | 2021年[24] |
特点
[编辑]标记
[编辑]HTML5提供了一些新的元素和属性,反映典型的现代用法网站。其中有些是技术上类似<div>
和<span>
标签,但有一定含义,例如<nav>
(网站导航块)和<footer>
。这种标签将有利于搜索引擎的索引整理、小萤幕装置和视障人士使用。同时为其他浏览要素提供了新的功能,通过一个标准接口,如<audio>
和<video>
标记[25][26][27]。一些过时的HTML 4.01标记将取消,其中包括纯粹用作显示效果的标记,如<font>
和<center>
,因为它们已经被CSS取代[28]。还有一些透过DOM的网络行为。
尽管和SGML在标记上的相似性,HTML5的句法并不再基于它了[29][30],而是被设计成向后兼容对老版本的HTML的解析。它有一个新的开始列看起来就像SGML的文档类型声明,<!DOCTYPE HTML>
,这会触发和标准兼容的渲染模式[31]。在2009年1月5日,HTML5添加了Web Form 2.0的内容,HTML5开始发展起来[32][33]。
新的API
[编辑]除了原先的DOM接口,HTML5增加了更多样化的应用程序接口(API)[35]:
- Canvas[36]
- 定时媒体播放[37]
- 离线[38]
- 可编辑内容[39]
- 拖放[40]
- 历史[41]
- MIME和协议处理程序时表头登记[42][43]
- 微数据[44]
- 网路讯息[45]
- 网路存储[46]
以上技术尽管是WHATWG HTML说明文档的内容,但并没有全部包括在W3C HTML5的说明文档里[47]。一些相关的技术,像下面所列的,并没有包括在这2份文档中的任何一份中。W3C给这些技术单独出版了说明文档。
- 地理位置
- 网页SQL数据库 ─ 本地SQL数据库(不再维护)[48]
- IndexedDB[49]
- 文件[50] ─ 处理文件上传和操纵文件[51]
- 目录和文件系统 ─ 这个API是为了满足客户端在没有好的数据库支持情况下存储要求[52]
- 文件写入 ─ 从网络应用程序向文件里写内容[53]
- 网路音频[54]
- ClassList[55]
- 网路加密[56]
- WebRTC[57]
一个普遍的误解是HTML5能够在网页中提供动画效果,这是不对的,动画效果是需要配合JavaScript和CSS。然而静态HTML5配合CSS可以表示出复杂的排版结构而且原生支援与影片的混合与控制(控制一般由JavaScript执行),因此简单可以把HTML5单位时间的状态理解为动画的关键影格。
XHTML5(XML-serialized HTML5)
[编辑]XHTML5是对HTML5的XML序列化。XML文档必须被设置为XML互联网文件类型,像application/xhtml+xml
或者application/xml
。XHTML5要求像XML一样严格的格式化的语法。在XHTML5中,HTML5的<!DOCTYPE HTML>
可有可无的。
XHTML5并非XHTML的第5版,没有自己独立的标准规范,而是HTML5的一种序列化方式。XHTML1.x和2.0使用的名字是Extensible HyperText Markup Language,不同于XHTML5。
异常处理
[编辑]HTML5在设计时保证旧的浏览器能够安全地忽略掉新的HTML5代码[4]。与HTML4.01相比,HTML5给出了解析的完整规则,让不同的浏览器即使在发生语法错误时也能返回完全相同的结果[58]。
普及率
[编辑]根据2011年9月30日发布的一份报告,全球排名前100的网站中有34个网站使用HTML5──主要是搜寻引擎与社群网站[59]。2013年8月发布的另一份报告显示,财富美国500强企业中已有多达153家采用HTML5[60]。
HTML 5和XHTML 1.x的差异
[编辑]以下为大略的不同之处,与例子:
- 文件类型声明(
<!DOCTYPE>
)仅有一型:<!DOCTYPE HTML>
。 - 新的解析顺序:不再基于SGML。
- 新的元素:
section
,video
,audio
,bdi
,progress
,nav
,meter
,time
,article
,aside
,canvas
,command
,datalist
,details
,embed
,figcaption
,figure
,footer
,header
,hgroup
,keygen
,mark
,output
,rp
,rt
,ruby
,source
,summary
,wbr
,track
。 input
元素的新类型:date
,email
,url
等等。- 新的属性:
ping
(用于a
与area
),charset
(用于meta
),async
(用于script
)。 - 全域属性:
id
,tabindex
,repeat
。 - 新的全域属性:
contenteditable
,contextmenu
,draggable
,dropzone
,hidden
,spellcheck
。 - 移除元素:
acronym
,applet
,basefont
,big
,center
,dir
,font
,frame
,frameset
,isindex
,noframes
,strike
,tt
。
各浏览器的支援
[编辑]HTML5 Test网站,是用以测试对浏览器对热门新功能的支援。测试的满分是555分。而当中的额外分数表示浏览器对一些没有列入W3C的标准亦有支援,例如<video>
元素并没有指明编码标准,HTML5支援MPEG-4、H.264、Ogg Theora及WebM 影音编码。HTML5 Test并未测试所有新加入的功能,分数高只代表浏览器现时对所挑选的新网页编码整体上有较佳的支援,并不代表日后其表现的趋势,因此分数只能作为参考。
2018年7月15日,以及2022年补充五大浏览器所取得的分数分别是:[61]
浏览器 | 2018正式版本 | 分数 | 2018开发版本 | 分数 | 2022 | 分数 |
---|---|---|---|---|---|---|
Google Chrome | 67 | 528 | 68 | 528 | 106 | 528 |
Opera | 54 | 528 | 55 | 528 | ? | ? |
Microsoft Edge | 17 | 492 | 18 | 496 | ? | ? |
Mozilla Firefox | 61 | 497 | 62 | 497 | ? | ? |
Apple Safari | 11.1 | 471 | 11.2 | 477 | 16.0 | 514 |
注释
[编辑]参考文献
[编辑]- ^ A vocabulary and associated APIs for HTML and XHTML. 28 October 2014 [2017-05-17]. (原始内容存档于2014-10-30).
- ^ HTML5 specification finalized, squabbling over specs continues. Ars Technica. 2014-10-29 [2014-10-29]. (原始内容存档于2014-10-29).
- ^ HTML5 is a W3C recommendation. W3C Blog. 2014-10-28 [2014-10-28]. (原始内容存档于2014-10-28).
- ^ 4.0 4.1 HTML5 differences from HTML4. W3C. 2010-10-19 [2010-12-04]. (原始内容存档于2012-06-07).
- ^ 1.9.2 Syntax Errors. HTML5. 2010-11-16 [2010-12-04]. (原始内容存档于2012-06-07).
- ^ HTML 4 Errata. World Wide Web Consortium. [2010-12-04]. (原始内容存档于2012-06-07).
- ^ 7.0 7.1 Frequently Asked Questions (FAQ) About the Future of XHTML. World Wide Web Consortium. [2010-12-04]. (原始内容存档于2012-06-07).
- ^ Position Paper for the W3C Workshop on Web Applications and Compound Documents. World Wide Web Consortium. [2011-12-30]. (原始内容存档于2017-05-21).
- ^ W3C Workshop on Web Applications and Compound Documents (Day 1) 2004-06-01. World Wide Web Consortium. [2011-12-30]. (原始内容存档于2016-04-02).
- ^ W3C Workshop on Web Applications and Compound Documents (Day 2) 2004-06-02. World Wide Web Consortium. [2011-12-30]. (原始内容存档于2016-09-03).
- ^ [whatwg] WHAT open mailing list announcement. lists.w3.org Mailing Lists. [2015-12-08]. (原始内容存档于2016-10-09).
- ^ This Week in HTML 5 – Episode 5. WHATWG Blog. [2011-12-30]. (原始内容存档于2011-12-24).
- ^ HTML5: A vocabulary and associated APIs for HTML and XHTML.. World Wide Web Consortium. [2009-01-28]. (原始内容存档于2012-06-07).
- ^ FOX News: No Flash on the iPhone? Apple's Steve Jobs Finally Explains Why. Fox News. 2010-04-29 [2011-04-29]. (原始内容存档于2011-06-29).
- ^ TIME: Steve Jobs: ‘Flash is No Longer Necessary’ and Other Musings. Time. 2010-04-29 [2011-04-29]. (原始内容存档于2011-04-26).
- ^ Steve Jobs: Why Apple Banned Flash. CBS News. [2011-04-29]. (原始内容存档于2012-07-31).
- ^ FastCompany: Steve Jobs: Adobe's Flash Is Old PC History, Open Web Is the Future. [2011-04-29]. (原始内容存档于2012-07-18).
- ^ 'Thoughts on Flash', by Steve Jobs, CEO of Apple, Inc. Apple.com. [2014-01-08]. (原始内容存档于2017-06-26).
- ^ Is HTML5 Replacing Flash?. Lyquix.com. [2014-01-08]. (原始内容存档于2012-04-25).
- ^ Open Web Platform Milestone Achieved with HTML5 Recommendation. W3C. 2014-04-28 [2014-10-29]. (原始内容存档于2014-11-02).
- ^ HTML5 Publication History - W3C. [2023-02-14]. (原始内容存档于2023-05-11).
- ^ HTML 5.1 2nd Edition Publication History - W3C. [2023-02-14]. (原始内容存档于2023-03-12).
- ^ HTML 5.2 Publication History - W3C. [2023-02-14]. (原始内容存档于2023-03-12).
- ^ HTML 5.3 Publication History - W3C. [2023-02-14]. (原始内容存档于2023-05-11).
- ^ Introduction to HTML5 video (页面存档备份,存于互联网档案馆)
- ^ IBM Developer Works New elements in HTML5: Structure and semantics (页面存档备份,存于互联网档案馆)
- ^ ICAMD.org Finalcut Silverlight Films that Videographers share Quicktime in a Flash : Video on the Web using HTML5 and other Codecs (页面存档备份,存于互联网档案馆)
- ^ 11 Obsolete features — HTML5. W3C. [2014-03-11]. (原始内容存档于2014-03-04).
- ^ HTML5 DTD (页面存档备份,存于互联网档案馆): "HTML5 is not SGML-based, and there will be no official DTD for it."
- ^ HTML 5 Reference (页面存档备份,存于互联网档案馆): "Although it is inspired by its SGML origins, in practice, it really only shares minor syntactic similarities." "As HTML5 is no longer formally based upon SGML, the DOCTYPE no longer serves this purpose, and thus no longer needs to refer to a DTD."
- ^ Shannon Suetos. HTML5: Worth the Hype?. instantshift.com. 26 April 2010 [2012-10-21]. (原始内容存档于2011-03-07).
- ^ Web Forms 2.0. 2009-01-05 [2014-02-11]. (原始内容存档于2014-02-09). obsolescence notice
- ^ HTML. whatwg.org. [2016-12-10]. (原始内容存档于2014-08-05).
- ^ Sergey Mavrody "Sergey's HTML5 & CSS3 Quick Reference. 2nd Edition". Belisso Corp., 2012. ISBN 978-0-9833867-2-8
- ^ "HTML5 Differences from HTML4 – APIs" (页面存档备份,存于互联网档案馆). World Wide Web Consortium.
- ^ "Get Started with HTML5 Canvas" (页面存档备份,存于互联网档案馆). Syntaxxx.
- ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23).
- ^ "Offline Web Applications" (页面存档备份,存于互联网档案馆). World Wide Web Consortium.
- ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23).
- ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23).
- ^ HTML elements, HTML5. w3.org. [2014-12-15]. (原始内容存档于2014-12-21).
- ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23).
- ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-23).
- ^ HTML. whatwg.org. [2014-12-15]. (原始内容存档于2017-06-22).
- ^ "HTML5 Web Messaging" (页面存档备份,存于互联网档案馆). World Wide Web Consortium.
- ^ "Web Storage Specification" (页面存档备份,存于互联网档案馆). World Wide Web Consortium.
- ^ href. 1 Introduction — HTML Standard. Whatwg.org. [2014-01-08]. (原始内容存档于2014-08-16).
- ^ "Web SQL Database" (页面存档备份,存于互联网档案馆). World Wide Web Consortium.
- ^ "Indexed Database" (页面存档备份,存于互联网档案馆). World Wide Web Consortium.
- ^ File API. W3.org. [2014-01-08]. (原始内容存档于2017-04-21).
- ^ "File API" (页面存档备份,存于互联网档案馆). World Wide Web Consortium.
- ^ "Filesystem API" (页面存档备份,存于互联网档案馆). World Wide Web Consortium.
- ^ "File API: Writer" (页面存档备份,存于互联网档案馆). World Wide Web Consortium.
- ^ Web Audio API. Dvcs.w3.org. [2014-01-08]. (原始内容存档于2017-03-06).
- ^ MDN. element.classList. [2016-12-11]. (原始内容存档于2015-02-11).
- ^ Web Cryptography Candidate Recommendation: https://www.w3.org/TR/WebCryptoAPI/ (页面存档备份,存于互联网档案馆)
- ^ WebRTC Working Draft: https://www.w3.org/TR/webrtc/ (页面存档备份,存于互联网档案馆)
- ^ FAQ – WHATWG Wiki. WHATWG. [2011-08-26]. (原始内容存档于2013-05-12).
- ^ Percentage of Web sites Using HTML5. binvisions. [21 October 2011]. (原始内容存档于2017-06-06).
- ^ "HTML5 Popularity Among Fortune 500 Companies (页面存档备份,存于互联网档案馆)". INCORE. Retrieved 5 March 2013.
- ^ HTML5 Test官方測試數據. [2016-08-06]. (原始内容存档于2016-08-06).
外部链接
[编辑]关于HTML5 的图书馆资源 |
- WHATWG的HTML动态标准 (页面存档备份,存于互联网档案馆)、GitHub仓库 (页面存档备份,存于互联网档案馆)
- W3C标记语言验证服务 (页面存档备份,存于互联网档案馆)
- W3C和WHATWG签订谅解备忘录 (页面存档备份,存于互联网档案馆)
- W3C的HTML工作组 (页面存档备份,存于互联网档案馆)