1.什么是 HTML5?
HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准。
HTML 的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。
HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。
为 HTML5 建立的一些规则:
新特性应该基于 HTML、CSS、DOM 以及 JavaScript。
减少对外部插件的需求(比如 Flash)
更优秀的错误处理
更多取代脚本的标记
HTML5 应该独立于设备
开发进程应对公众透明
2.为什么推出HTML5?
传统WEB浏览器存在的问题包括以下三点
WEB浏览器之间的兼容性很低
在某个WEB浏览器上可以正常运行的HTML5、CSS、JavaScript等WEB程序,在另一个WEB浏览器上就不一定能正常运行了。导致这种问题的主要原因就是规范不统一,没有被标准化。在HTML5中,这个问题被解决了。HTML5的使命是详细分析各WEB浏览器所具有的功能,然后以此为基准,要求这些浏览器内部的功能都要符合一个通用标准。
文档结构不够明确
在HTML5之前的HTML版本中,文档结构不够明确、清晰。例如为了要表示标题、正文、之前一般都会使用DIV元素,但是严格来说,DIV元素不是一个能把文档结构表示的很清楚的元素,使用过多会导致阅读时不仔细研究或者很难去看出文档结构,而且对于搜索引擎或者屏幕阅读等等应用程序来说,过多的使用DIV元素,那这些程序从哪到哪算是正文都很难确定。在HTML5中,为了解决这个问题,增加很多和结构相关的元素。
WEB应用程序的功能受到限制
HTML5与WEB应用程序的关系十分薄弱,WEB应用程序的特征是先从网络下载,然后忠实的运行。因此,他会对威胁到用户安全的功能进行限制,目前安全性的保障这方面已经做到了。但是对于WEB应用程序来说,一直以来HTML5真正所做出的贡献是很少的。例如 就连想同时上传多个文件都不允许。为了弥补这方便的不足,HTML5已经开始提供各种各样的WEB应用上的新API。各浏览器也在快速封装这些API。 HTML5已经丰富了WEB应用的实现变成了可能。
3.世界知名浏览器厂商对HTML5的支持
微软的IE<分两个阶段IE9以上支持HTML5>
Google的Chrome
苹果的Safari
Opera
Mozilla Firefox
4.新增的元素
新增的结构元素(section、article、aside、header、hgroup、footer、nav、figure)
新增的其他元素(video、audio、embed、mark、 progress、 meter、time、ruby、rt、rp、wbr、canvas、command、details、datagrid、keygen、output、source、menu)
新增的input元素的类型(email、url、number、range、Date 、Search)
————————————————
5,废除的元素
能使用CSS代替的元素(basefont、big、center、font、s、tt、u)等等
不再使用frame框架
只有部分浏览器支持的元素
其他被废除的元素
6.新增的属性
表单相关的属性
Url
number
range
Date pickers (date, month, week, time, datetime, datetime-local)
search
color
链接相关的属性
其他属性
7.html5的漏洞
2013年3月,HTML5标记语言的一个漏洞被发现:它允许网站利用数GB垃圾数据对用户展开轰炸,甚至会在短时间内将硬盘塞满。多款主流浏览器均会受此影响。
一位名叫菲罗斯·阿伯克哈迪杰哈(Feross Aboukhadijeh)的开发者率先发现了这一漏洞,他表示,多数主流网络浏览器均会受到影响,包括苹果Safari、谷歌Chrome、微软IE和Opera。唯一能够阻止数据大量加载的是Mozilla的火狐浏览器,该产品的数据存储上限为5MB。
该问题的根源在于HTML5存储本地数据的方式。虽然每个浏览器都有不同的存储参数,但很多都支持用户自定义限制,且至少会在用户电脑上存储2.5MB数据。
阿伯克哈迪杰哈发现了一个绕过数据上限的方法,它创建了多个与用户访问过的网站链接的临时网站。由于多数浏览器不会计算这种偶然情况,所以二级网站也可以存储与主网站相同量的数据。通过大批生成这种网站,该漏洞便可向受影响的电脑加载海量数据。
在测试这一漏洞的过程中,阿伯克哈迪杰哈每16秒即可向他的固态硬盘版MacBook Pro中加载1GB数据。他指出,Chrome等32位浏览器可能会在硬盘塞满前崩溃。“一些采用高明代码的网站其实已经取消了用户电脑对数据存储的限制。”阿伯克哈迪杰哈说。阿伯克哈迪杰哈已经发布一组代码来利用该漏洞,并创建了一个名为Filldisk的专用网站来凸显该漏洞的危害。