HTML5 ── Hyper Text Markup Language 超文本标记语言第 5 版
百度网盘 https://pan.baidu.com/s/1i5tKlZB
所见即所得的 HTML5 Bootstrap3.3.2 Web 网页 IDE 集成开发环境 http://dts.digitser.cn/zh-CN/ide/ideweb/index.html http://forum.digitser.cn/thread-2153-1-1.html
HTML5 是 www 万维网的核心语言、标准通用标记语言下的 "HTML 超文本标记语言" 的第五次重大修改 (W3C 推荐标准)。
2014 年 10 月 29 日万维网联盟宣布,经过近 8 年的艰苦努力,HTML5 标准规范终于制定完成。HTML5 有望成为梦想的“开放 Web 平台 (Open Web Platform)” 的基石,如能实现可进一步推动更深入的跨平台 Web 应用。
W3C 首席执行官 Jeff Jaffe 表示:"从今天起,企业用户可清楚地知道,他们能够在未来依赖 HTML5"。HTML5 是开放 Web 标准基石,它是一个完整编程环境,适用于跨平台应用程序、视频和动画、图形、风格、排版和其它数字内容发布工具、广泛的网络功能、等等。
在此之前的几年时间里,已有很多开发者陆续使用了 HTML5 的部分技术。譬如:Firefox、Google Chrome、Opera、Safari 4+、Internet Explorer 9+ 都已支持 HTML5,但直到今天,我们才看到 "正式版"。
HTML5 将取代 1999 年制定的 HTML 4.01、XHTML 1.0 标准,以期能在互联网应用迅速发展的现代,使网络标准达到并符合当代网络需求,为桌面、移动平台带来无缝衔接的丰富内容。
支持 HTML5 的浏览器,包括:Firefox (火狐浏览器)、IE9 及更高版本、Chrome (谷歌浏览器)、Safari、Opera 等;国内的遨游浏览器 (Maxthon),以及基于 IE 或 Chromium (Chrome 工程版或称实验版) 所推出的 360 浏览器、搜狗浏览器、QQ 浏览器、猎豹浏览器、等国产浏览器都支持 HTML5。
HTML5 在诞生之初,就树立了一个原则,那就是所有技术必须是开放的,不准有专利限制,在这期间 Opera 捐献了 CSS 技术,而 Google 则提供了视频格式 WebM。可以说,大部分 HTML 协议在众多网络技术公司中达成了共识,但在视频格式方面,世界各大互联网公司正在为具体标准进行争论,这可能影响 HTML5 标准的分流。纷争的两大阵营分别是 Opera、火狐、Google 等,另一大阵营则由苹果公司领衔。MPEG 阵营认为 WebM 格式是具有专利保护的,这违背了 HTML5 所有技术必须开放的原则。MPEG 阵营则更多地是因为,自身就在使用这种视频格式。
据统计:2013 年全球有 10 亿手机浏览器支持 HTML5,同时 HTML Web 开发者数量达到了 200万。毫无疑问,HTML5 将成为未来 5-10 年内,移动互联网领域的主宰者。据 IDC 的调查报告统计,截至 2012 年 5 月有 79% 的移动开发商,已在其应有程序中整合 HTML5 技术。从性能角度来说,HTML5 首先是缩减了 HTML 文档,使这件事情变得更简单。从用户可读性上看,原先一大堆东西对初学者来说,第一次看到这些东西是看不懂的,而 HTML5 的声明方式对用户来说显然更友好。
标准通用标记语言下的 HTML 标准自 1999 年 12 月 24 日发布 HTML 4.01 后,HTML5 及其标准就被束之高阁。为推动 Web 标准化运动的发展,一些公司联合起来成立了一个叫做 Web Hypertext Application Technology Working Group (Web 超文本应用技术工作组,简称 WHATWG) 组织。WHATWG 致力于 Web 表单和应用程序,而 W3C (World Wide Web Consortium 万维网联盟) 则专注于 XHTML 2.0。2006 年双方决定合作创建一个新版 HTML。
2004 年 WHATWG 提出名为 Web Applications 1.0 的 HTML5 草案前身,2007 年被 W3C 接纳,并成立新 HTML 工作团队。
2008 年 01 月 22 日公布 HTML5 的第一份正式草案。此时,HTML5 仍处于完善之中,然而,大部分现代浏览器都已开始支持 HTML5。
2012 年 12 月 17 日万维网联盟 (W3C) 正式宣布,凝结了大量网络工作者心血的 HTML5 规范已正式定稿。根据 W3C 发言稿称:"HTML5 是开放 Web 网络平台的奠基石"。
2013 年 05 月 06 日 HTML 5.1 正式草案公布。该规范定义了 HTML 第五次重大版本,第一次要修订万维网的核心语言:超文本标记语言 (HTML)。在这个版本中,新功能不断推出,以帮助 Web 应用程序作者,努力提高新元素的互操作性。本次草案的发布,从2012 年 12 月 27 日至今,进行了多达近百项的修改,包括 HTML 和 XHTML 标签,相关 API、Canvas 等,同时 HTML5 图像 img 及 svg 标签也进行了改进,性能得到进一步提升。
2014 年 10 月 29 日万维网联盟宣布,经过近 8 年的艰辛努力,HTML5 标准规范终于最终制定完成,公开发布。
采用 HTML5 有以下一些优点:
01、提高可用性和改进用户的友好体验;
02、有几个新标签,有助于开发人员定义重要内容;
03、可给站点带来更多多媒体元素(视频和音频);
04、可很好的替代 FLASH 和 Silverlight;
05、当涉及网站抓取和索引时,SEO 很友好;
06、可大量应用于移动应用程序和游戏;
07、可移植性好。
许多游戏开发商都被 Facebook 或 Zynga 推着发展,而未来的 Facebook 应用生态系统是基于 HTML5 的;尽管在 HTML5 平台开发游戏有些困难,但游戏开发商却都愿意那样做。通过 PhoneGap 及 appmobi 的 XDK 将 Web 应用游戏打包整合到原生应用中也是一种方式,Facebook 差不多就这么干的 —— 基于 Web 应用及浏览器,却将之打包整合进原生应用。HTML5 更适合轻量级小游戏。且 HTML5 在代码保密性方面并不弱于原生应用。
为移动设备端开发 HTML5 应用,有 2 种方法: 01、全部使用 HTML5 语法 纯 HTML5 手机应用运行缓慢并错漏百出,但优化后,效果会好转。尽管很多人不愿去做这样的优化,但依然可以尝试。
HTML5 手机应用的最大优势就是可在网页上直接调试和修改。原先应用的开发人员可能需要花费非常大的力气才能达到 HTML5 的效果,不断地重复编码、调试、运行,这是首先得解决的一个问题。由此,许多手机杂志客户端都是基于 HTML5 标准,开发人员可轻松调试、修改。
02、仅使用 JavaScript 引擎
JavaScript 引擎的构建方法让制作手机网页游戏成为可能。由于界面层很复杂,已预订了一个 UI 工具包。
HTML5 (text/html) 浏览器在错误语法的处理上会更灵活。HTML5 在设计时,保证旧浏览器能安全忽略掉新 HTML5 代码。与 HTML 4.01 相比,HTML5 给出了解析的详细规则,力图让不同浏览器即使在发生语法错误时,也能返回相同结果。
主要优势
01、网络标准 HTML5本身由W3C推荐,它的开发是通过谷歌、苹果、诺基亚、中移动等几百家公司一起酝酿的技术,这个技术最大的好处在于它是一个公开的技术。换句话说,每一公开标准都可根据W3C的资料库找寻根源。另一方面,W3C通过HTML5标准,也就意味着每一浏览器或每一平台都能实现。
02、多设备、跨平台 用HTML5的优点主要在于,这个技术可跨平台使用。譬如:你开发了一款HTML5游戏,可很轻易移植到UC开放平台、Opera游戏中心、Facebook应用平台,甚至通过封装技术发到App Store或Google Play上;所以,它的跨平台性非常强大,这也是大多数人对HTML5有兴趣的主要原因。
03、自适应网页设计 很早就有人设想,能不能“一次设计,普遍适用”,让同一张网页自动适应不同大小屏幕,根据屏幕宽度,自动调整布局(layout)。
2010年Ethan Marcotte提出了”自适应网页设计“这个名词,指可自动识别屏幕宽度、并做出相应调整的网页设计。
这解决了那种传统局面——网站为不同设备提供不同网页,譬如:专门提供一个mobile版本或iPhone / iPad版本。这样做固然保证了效果,但比较麻烦,同时要维护好几个版本;且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度。
04、即时更新 游戏客户端每次都要更新,很麻烦。可更新HTML5游戏就好像更新页面一样,是马上的、即时的更新。
主要特性
01、语义特性(Class:Semantic) HTML5会赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa、微数据、微格式、等方面的支持,构建对程序、对用户更有价值的数据驱动Web。
02、本地存储特性(Class: OFFLINE & STORAGE) 基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这全得益于HTML5 APP Cache、本地存储功能、Indexed DB(HTML5本地存储最重要的技术之一)和API说明文档。
03、设备兼容特性 (Class: DEVICE ACCESS) 从Geolocation功能的API文档公开以来,HTML5为网页应用开发者提供了更多功能上的优化选择,带来了更多体验功能。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可直接与浏览器内部的数据直接相连,譬如:视频影音可直接与microphones及摄像头相联。
04、连接特性(Class: CONNECTIVITY)
更有效的连接效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能帮助我们实现服务器将数据“推送”到客户端的功能。
05、网页多媒体特性(Class: MULTIMEDIA) 支持网页端的Audio、Video等多媒体功能,与网站自带的APPS、摄像头、影音功能相得益彰。
06、三维、图形、特效特性(Class: 3D, Graphics & Effects) 基于SVG、Canvas、WebGL、CSS3的3D功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。
07、性能、集成特性(Class: Performance & Integration) 没有用户会永远等待你的Loading——HTML5会通过XML Http Request 2等技术,解决以前的跨域问题,帮Web应用和网站在多样化的环境中更快速工作。
08、CSS3特性(Class: CSS3) 在不牺牲性能和语义结构的前提下,CSS3中提供了更多的风格、更强的效果。此外,较以前的Web排版,Web的开放字体格式(WOFF)也提供了更高的灵活性和控制性。
主要变化
HTML5提供了一些新元素、新属性,譬如:<nav>(网站导航块)、<footer>。这种标签有利于搜索引擎的索引整理,同时更好的帮助小屏幕装置和视障人士使用。除此之外,还为其他浏览要素提供了一些新功能,譬如:<audio>、<video> 标记。
01、取消了一些过时HTML4标记 其中包括纯粹显示效果的标记,譬如:<font>、<center>,它们已被CSS取代。
HTML5吸取了XHTML2的一些建议,包括一些用来改善文档结构的功能。譬如:header、footer、dialog、aside、figure、等新HTML标签,将使内容创作者更加语义地创建文档,之前的开发者在实现这些功能时一般都是使用div标签。
02、将内容和展示分离 b 和 i 标签依然保留,但它们的意义已经和之前有所不同,这些标签的意义只是为了将一段文字标识出来,而不是为了把它们设置成粗体或斜体式样。u、font、center、strike 标签则被完全删除。
03、全新表单输入对象 包括日期、URL、Email 地址,其它对象则增加了对非拉丁字符的支持。HTML5还引入了微数据,这种使机器能识别标签标注内容的方法,可使Web语义的处理变得更为简单。总的来说,这些与结构有关的改进使内容创建者可创建更干净、更容易管理的网页,这样的网页对搜索引擎、读屏软件、等更为友好。
04、全新、更合理的Tag 多媒体对象将不再全部绑定在object或embed Tag中,而是视频有视频的Tag,音频有音频的Tag。
05、本地数据库 这个功能将内嵌一个本地SQL数据库,以加速交互式搜索,缓存以及索引功能。同时,那些离线Web程序也将因此获益匪浅。无需插件丰富动画。
06、Canvas 对象 将给浏览器带来直接在上面绘制矢量图的能力,这意味着用户可脱离Flash和Silverlight,直接在浏览器中显示图形或动画。
07、浏览器中的真正程序 将提供API实现浏览器内的编辑、拖放、各种图形用户界面的能力。内容修饰Tag将被剔除,而使用CSS。
08、HTML5取代Flash在移动设备的地位
09、强化web页面表现,追加本地数据库
应用须知
01、可能消灭Flash 许多业内人士表示,HTML5会最终代替多媒体框架,如Adobe的Flash,但是短期来看还不是时候。HTML5于2014年底才公布,且将现有应用Flash的网络开发完全转向HTML5还需一段时间。尽管HTML5提出了许多优点,但还可能有某些应用更适合于更灵活框架。一些主流大公司都逐步转向使用HTML5,谷歌于2015年2月26日开始自动将Flash广告转换为HTML5格式,这可能会加速HTML5替代Flash的进程,但是这个转变的过程也不是一蹴而就的。
02、新并不表明就安全 网络应用开发工程师在学习新技术的同时需时刻记住网络安全。HTML5所构建的网页和其他语言编写的网页一样容易泄露一些敏感数据。欧洲网络信息安全机构(European Network and Information Security Agency,ENISA)警告说,HTML5目前可能不够安全。
03、无缝网络 HTML5会带来一个统一网络,无论是笔记本、台式机,还是智能手机都应该很方便的浏览基于HTML5的网站。因此在设计网站的时候,开发者需重新考虑用户体验、网站浏览、网站结构、等因素,使这个网站对任何硬件设备都通用。
04、企业的SaaS平台 一些重量级企业,如:微软、Salesforce、SAP Sybase正在开发HTML5的开发工具。如果你正在构建企业应用,很快就要用到HTML5。所以当构建公司的SaaS战略迁移时,也不要忘记HTML5。
05、将会变得很移动 所有人几乎都热衷于开发独立移动应用,但是HTML5很可能会是独立移动应用的终结者。由于HTML5将应用功能直接加入其内核,这很可能引导移动技术潮流重新回到浏览器时代。HTML5允许开发者在(移动)浏览器内开发应用;所以,如果你正在制定一项桌面或移动应用的长期发展策略,你可能需要考虑这一点。
已知漏洞
2013年03月HTML5的一个漏洞被发现:它允许网站利用数GB垃圾数据对用户展开轰炸,甚至可在短时间内将硬盘塞满。多款主流浏览器均会受此影响。
一位名叫菲罗斯·阿伯克哈迪杰哈(Feross Aboukhadijeh)的开发者率先发现这一漏洞。他表示,多数主流网络浏览器均受此影响,包括苹果Safari、谷歌Chrome、微软IE和Opera。唯一能阻止数据大量加载的是Mozilla的火狐浏览器,因为,火狐浏览器的数据存储上限为5MB。
该问题的根源在于HTML5存储本地数据的方式。虽然每个浏览器都有不同的存储参数,但很多都支持用户自定义限制,且至少会在用户电脑上存储2.5MB数据。
阿伯克哈迪杰哈发现了一个绕过数据上限的方法,它创建了多个与用户访问过的网站链接的临时网站。由于多数浏览器不会计算这种偶然情况,所以二级网站也可存储与主网站相同量的数据。通过大批生成这种网站,该漏洞便可向受影响的电脑加载海量数据。
在测试这一漏洞过程中,阿伯克哈迪杰哈每16秒即可向他的固态硬盘版MacBook Pro中加载1GB数据。他指出,Chrome等32位浏览器可能会在硬盘塞满前崩溃。“一些采用高明代码的网站其实已取消了用户电脑对数据存储的限制。”阿伯克哈迪杰哈说。阿伯克哈迪杰哈已经发布一组代码来利用该漏洞,并创建了一个名为Filldisk的专用网站来凸显该漏洞的危害。
发展历史
# | 时间 | 版本 | 说明 | 备注 | 01 | 1993 年 06 月 | HTML 1.0 | 作为互联网工程工作小组(IETF)工作草案发布 | 并非标准 | 02 | 1995 年 11 月 | HTML 2.0 | 作为 RFC 1866 发布 | 在 RFC 2854 于 2000 年 6 月发布后,宣布已过时 | 03 | 1997 年 01 月 | HTML 3.2 | W3C 推荐标准 |
| 04 | 1997 年 12 月 | HTML 4.0 | W3C 推荐标准 |
| 05 | 1999 年 12 月 | HTML 4.01 | W3C 推荐标准 | 微小改进 | 06 | 2000 年 05 月 | ISO/IEC 15445:2000 (ISO HTML) | 国际标准化组织和国际电工委员会标准 | 基于严格 HTML 4.01 语法 | 07 | 2014 年 10 月 | HTML 5 | W3C 推荐标准 | |
HTML 没有 1.0 版本,是因为当时有很多不同的版本。有些人认为蒂姆·伯纳斯-李的版本应该算初版,这个版本没有 IMG 元素。当时被称为 HTML+ 的后续版的开发工作于 1993 年开始,最初是被设计成为 “HTML 的一个超集”。
第一个正式规范是为了和当时的各种 HTML 标准区分开来,使用 2.0 作为其版本号。HTML+ 的发展有继续下去,但它从未成为标准。
HTML 3.0 规范是由当时刚成立的 W3C 于 1995 年 3 月提出,提供了很多新特性。譬如:表格、文字绕排和复杂数学元素的显示。虽然 HTML 3.0 是被设计用来兼容 2.0 版本的,但是实现这个标准的工作在当时过于复杂,在草案于 1995 年 9 月过期时,标准开发也因缺乏浏览器支持而中止。
HTML 3.1 版从未被正式提出,而下一个被提出的版本是开发代号为 Wilbur 的 HTML 3.2,去掉了大部分 3.0 中的新特性,但加入了很多特定浏览器,譬如:Netscape 和 Mosaic 的元素和属性。HTML 对数学公式的支持最后成为另外一个标准 Math ML。
HTML 4.0 同样也加入了很多特定浏览器的元素和属性,但是同时也开始 “清理” 这个标准,把一些元素和属性标记为过时,建议不再使用它们。HTML 的未来和 CSS 结合会更好。
HTML 5 草案的前身名为 Web Applications 1.0。于 2004 年被 WHATWG 提出,于 2007 年被 W3C 接纳,并成立了新 HTML 工作团队。在 2008 年 1 月 22 日,第一份正式草案发布。
"长按二维码" 或 "扫一扫" 关注 "德云社区" 微信公众号
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。
|