肖 斌,汪 敏
(西南石油大学 a.计算机科学学院; b.电子信息工程学院,四川 成都 610500)
Ajax通过对XHTML、CSS、DOM、JavaScript、XML等多项传统技术进行的修改、整合和发扬,在浏览器和服务器之间加入Ajax层,从而改变了传统的Web应用模型[1]。基于Ajax Web应用模型,Ajax向服务器发送和接收数据,减少了信息通信量,实现页面局部刷新,提高了网络反映速度。
当运用Ajax技术来开发一个健壮的软件系统时,Web应用程序不只依赖于高质量、快速和健壮的网络通信,更需考虑Ajax的可移植性、效用性和可用性等非功能性因素。而在Ajax 与服务器异步交互的过程中如何高效地传递响应数据则是很重要的一个环节。现从Ajax的数据响应角度进行分析,构建一个高效的Ajax应用程序,提出了一套优化网络通信并尽可能减少故障的方案。
要对Ajax的性能实施优化,首先要考虑的是Ajax的基本工作原理。Ajax采用异步交互方式,在用户与服务器之间引入了一个用JavaScript编写的Ajax引擎,来代替用户与服务器进行交互。这样用户可以无需等待响应,继续其他的Web交互。基于Ajax的Web 应用模式如图1[2]所示。
如图1所示,用户界面通过Ajax引擎,使用XHR对象[4-5],由JavaScript调用服务器通信,收到请求后,服务器端进行数据处理,完成通信解码,服务器端产生XML、纯文本、JSON等数据形式的响应返回给客户端,客户端通过JavaScript和DOM 程序进行局部更新。数据传输过程中数据传输量及其对数据的解析都会影响该Web应用程序的整体性能。

图1 基于Ajax 的Web 应用模式
基于Ajax的性能分析,制约Ajax性能的主要因素包括数据传输的数据量及其数据格式。……