最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

HTML5技术调研报告

来源:动视网 责编:小OO 时间:2025-09-30 08:53:21
文档

HTML5技术调研报告

图目录1.背景及现状HTML标准自1999年12月发布的HTML4.01后,后继的HTML5和其它标准被束之高阁,为了推动web标准化运动的发展,一些公司联合起来,成立了一个叫做WebHypertextApplicationTechnologyWorkingGroup(Web超文本应用技术工作组-WHATWG)的组织,HTML5草案的前身名为WebApplications1.0,於2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的HTML工作团队。HTML5的第一份正式草案已
推荐度:
导读图目录1.背景及现状HTML标准自1999年12月发布的HTML4.01后,后继的HTML5和其它标准被束之高阁,为了推动web标准化运动的发展,一些公司联合起来,成立了一个叫做WebHypertextApplicationTechnologyWorkingGroup(Web超文本应用技术工作组-WHATWG)的组织,HTML5草案的前身名为WebApplications1.0,於2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的HTML工作团队。HTML5的第一份正式草案已
图目录

1. 背景及现状

HTML 标准自1999年12月发布的 HTML 4.01 后,后继的 HTML 5 和其它标准被束之高阁,为了推动web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group (Web 超文本应用技术工作组 - WHATWG) 的组织,HTML5草案的前身名为 Web Applications 1.0,於2004年被 WHATWG 提出,于2007年被 W3C 接纳,并成立了新的 HTML 工作团队。HTML 5 的第一份正式草案已于2008年1月22日公布。该团队为HTML5建立的规则如下:

新特性应该基于 HTML、CSS、DOM 以及 JavaScript。

减少对外部插件的需求(比如 Flash)

更优秀的错误处理

更多取代脚本的标记

HTML5 应该于设备

开发进程应对公众透明

总的来说,HTML 5有两大特点:首先,强化了 Web 网页的表现性能。其次,追加了本地数据库等 Web 应用的功能。

由图1-1可以看出,在2012年,将会由W3C发布候选推荐版,这个版本的发布就代表着HTML5的规范编写已经完成了。而2022年推出的计划推荐版,则意味着至少会有两个浏览器会完美的支持HTML5的所有特性。2022年听起来似乎很遥远,但通过观察现阶段chrome, firefox , safari,IE等浏览器对HTML5的支持程度,可以看出各大浏览器厂商都非常积极。应该不需要到2022年就会有至少两个浏览器支持HTML5。因此现在关注和讨论HTML5,了解HTML5的新特性,为以后的产品规划并非毫无意义。

11 HTML5版本发布时间

2. HTML5新特性

2.1. worker 多线程

在过去很年多里面HTML的一个就是多线程,所有运算和展示都在主页面一个线程中,预算稍微大一点网页就卡,对整个用户体验、性能的影响很大。有了HTML5这个问题完全解决了。多线程支持,在与主页面分开的线程中运行处理过程,保留页面以用于主要的功能,并可以同时算多个东西,充分利用了CPU资源。

HTML5的多线程是worker模式,大体的概念是:线程的创建由一个worker来决定,维护了一个线程池。Web Workers 是 HTML5 提供的一个javascript多线程解决方案,我们可以将一些大计算量的代码交由web Worker运行而不冻结用户界面。

HTML5的多线程的特性:

1.在线程中是不能操作DOM节点的(想要操作的话只能发送消息给worker创建者回调函数);

2.多线程的本质其实是真正的系统线程;

3.能使用setTimeout(),clearTimeout(),setInterval(),clearInterval()等函数;

4.能进行IO操作(ajax)。

2.2. 双向通信WebSocket

WebSockets是在一个(TCP)接口进行双向通信的技术,PUSH技术类型。使用ws或wss协议。WebSocket目前由W3C进行标准化,已经受到Firefox 4、Chrome 4、Opera 10.70以及Safari 5等浏览器的支持。

2.2.1. 当前的Web通信——轮询(Polling)

通常,当浏览器访问一个网页时,会向托管该网页的Web服务器发送一个HTTP请求,Web服务器识别这一请求,并返回响应。例如,新闻报道,门票销售等,在浏览器渲染页面时,响应可能会过期,如果你想获得最新的“实时”信息,你可以不断地手动刷新页面,但显然这不是最好的办法。

目前提供的实时Web程序主要是围绕轮询和其它服务器端推送技术进行的,最著名的是Comnet,它推迟了HTTP响应的结束,基于Comnet的推送通常是使用JavaScript结合长轮询(Long Polling)或流连接策略实现的。

使用轮询时,浏览器定期发送HTTP请求,并立即收到响应。这种方式比不断刷新好一些,浏览器不用一闪一闪的重新加载了,而且只传送感兴趣的那一小部分数据,占用带宽变小。

使用长轮询时,浏览器向服务器发送一个请求,服务器在既定期限内保持请求处于打开状态,如果在此期间收到通知,向客户端发送一个包含消息的响应,如果在此期间没有收到消息,服务器发送一个响应终止打开的请求。长轮询相对于一般轮询的优点在于,数据一旦可用,便立即从服务器发送到客户机,因此没有延时,但是服务器有大量消息要推送的时候,长轮询与轮询相比,实际并没有什么本质的提高。

使用流时,浏览器发送一个完整的请求,服务器发送一个响应,并保存打开状态,然后不断更新使其一直保持打开(或在一段时间内保持打开),无论何时消息准备好发送时,响应就更新,但服务器不会发送一个结束的响应,因此连接就一直保持打开状态,后面发送的消息就可以继续使用这个连接。但流仍然是封装在 HTTP中的,阻扰了防火墙和代理服务器选择缓冲区中的内容进行响应,因此消息传递的时间就延长了。许多流式Comnet解决方案都转向了长轮询,另外,TLS(SSL)连接可以用来屏蔽来自缓冲区的响应,但在这种情况下,每个连接消耗的服务器资源更多了。

最终,所有这些方法都提供了实时数据,包含HTTP请求和响应头,其中包含许多额外的,不必要的头数据。为了模拟基于半双工HTTP上的全双工通信,目前的许多解决方案都使用了两个连接:一个下行连接,一个上行连接。维护和协调这两个连接需要大量的系统开销,并增加了复杂性。简言之,HTTP不是为实时的,全双工通信设计的,如图2-1所示,它显示了轮询和WebSocket 应用程序之间的网络吞吐量。

21轮询和WebSocket 应用程序之间的网络吞吐量

2.2.2. HTML5 WebSocket

WebSocket通过一个单一的Socket实现一个全双工,双向通信的信道,实现了服务端完美的PUSH。与Ajax相比,Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以彼此相互推送信息;XHR受到域的,而WebSocket允许跨域通信。HTML 5 Web Socket提供了一个真正的标准,可以使用它构建可扩展的实时Web应用程序。此外,由于它提供了一个浏览器自带的套接字,消除了Comet解决方案的许多问题,Web Socket显著降低了系统开销和复杂性,减少不必要的网络流量和延迟。

浏览器通过JavaScript 向服务器发出建立WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过TCP连接直接交换数据。

HTML 5 Web Socket在实时Web应用扩展性方面朝前迈出了一大步,HTML 5 Web Socket可以提供5000:1或1000:1的比例(根据HTTP消息头大小)减少不必要的HTTP头流量和3:1的比例减少通信延迟,这不是一个渐进式的改进,而是一次性的飞跃。

2.3. 视频音频支持

目前,在网页上嵌入音频或视频,最常用的是Flash等格式。这需要Adobe Flash插件,并且结合标签,除此之外,Flash具有不开放,耗电,占用系统资源大等缺点。大多数用户已经安装了Flash插件(事实上,大概95%的上网用户都装有Flash的某个版本),但HTML 5的支持者正在推动一个开放的,不需要任何插件的多媒体标准。这就是HTML 5的新标签