HTML4.x版本自从1999年正式发布后,直到现在还没有推出新版本支持新业务的需要,直到现在HTML5 Draft的推出,让我们看到了新的希望,估计HTML5在今后几年内将会逐步在各大浏览器中实现,如目前正在开发的IE8据说将支持部分HTML5特性,如包含跨文档传送,客户端存储API,网络连接检测和部分前进/后退栈的特性;当然firefox 肯定也会支持,如3.x版本已经支持HTML5中的关于离线Cache的部分特性。
下面简单介绍一下即将完全改变我们目前的Web开发方式和业务的一些特性:
- Persistent storage. Both key / value and a SQL database are supported.
这个特性可以让Web应用程序支持本地数据存储,而不仅仅限于目前的Cookie数据存储,可以存储更多数据在客户端。
- An API that enables offline Web applications
可以把一些共性的资源Cache在客户端本地硬盘中,减少Web服务器的流量和压力
- Drag & drop API in combination with a draggable attribute.
- Network Connection API.
使Web应用程序能够在局域网中互相通信,能够与Web服务器保持一个双向的通信(TCP/IP),支持P2P应用模式。这样浏览器就支持与Web服务器的长连接特性,使Web应用程序可以定期获取Web服务器上的数据,而不用重新建立连接。另外由于支持局域网中的UDP通信,这样就可以在局域网中使用基于UDP的应用。
- API that exposes the history and allows pages to add to it to prevent breaking the back button. (This API has the necessary security restrictions in place.)
允许API调用前进/后退功能,注册和地图等功能可以基于此特性加强用户的交互体验。
- Cross-document messaging.
跨域的文档消息调用,目前由于安全因数,不允许跨域之间的文档进行交互影响,也就是说跨站脚本是不允许执行的。HTML5里的这个特性打破了这个限制,允许不同站点之间的文档进行交互通信。
- Server-sent events in combination with the new event-source element.
目前的HTML标准是不允许Web服务器主动与Web客户端通信的,因此如股票信息更新的方式,只能由Web客户端定期调用服务器刷新网页内容,数据不能即时更新。HTML5里的这个Server-sent events特性解决了这个问题,当有事件在服务器侧更新时,可以由服务器Push给订阅的Web客户端,大大增强了即时性,当没有事件更新时,不需要通知Web客户端,Web客户端也不需要去轮寻事件,降低了服务器的压力和流量。这个特性也使得基于浏览器的即时通信实现变得简单和更即时。
- Notification API to alert the user to new information, such as new e-mail messages in an e-mail application.
这个特性允许受信源Web服务器发送通知信息给Web客户端,比如发送Email到达通知。如用户对example.com受信,那么mail.example.com也将受信,因此当浏览器打开了portal.examle.com网页后,可以受到来自mail.example.com的email到达通知,允许用户即时在浏览器上查看新到的邮件信息。