论文部分内容阅读
传统的web应用模型工作起来就像这样:大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。服务器完成一些处理:接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端。它不会产生很好的用户体验。当服务器正在处理自己的事情的时候,用户在等待。每一个动作,用户都要等待。
与传统的web工程不同,基于AJAX技术的新的WEB程序采用异步交互过程。所谓异步,是指服务器和客户端之间的操作的进度是否一致,例如:当客户端向服务器发送请求后,如果在服务器处理的过程中,客户端处于等待服务器的数据返回的状态,这就是服务器和客户端的同步,如果在服务器处理请求的过程中,客户端依然在操作并发送请求给服务器,这就叫异步。很显然,异步的交互过程能够提高服务器和客户端之间的交互效率,而且用户在向服务器发送请求后,没有等待服务器返回处理结果的过程,可以继续进行其他操作,显得更加人性化。
AJAX是在客户端与服务器之间引入的一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待缺点。用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎甩JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。现在,可以用JavaScript调用AJAX引擎来代替产生一个HTTP的用户动作,内存中的数据编辑,页面导航,数据校验这些不需要重新载入整个页面的需求可以交给AJAX来执行。使用AJAX,可以为开发人员,终端用户带来可见的便捷:
▲减轻服务器的负担。AJAX的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
▲无刷新更新页面,减少用户心理和实际的等待时间。更准确的说,应该是页面是局部刷新,而不是整体刷新,只改变页面上需要改变的部分。特别的,当要读取大量的数据的时候,不用像Reload那样出现白屏的情况,AJAX使用XMLHHTTP组件发送请求并得到服务器响应,在不重新载入整个页面的情况下用JavaScript操作DOM最终更新页面。所以在读取数据的过程中,用户所面对的不是白屏,是原来的页面内容(也可以一个Loading的提示框让用户知道处于读取数据过程),只有当数据接收完毕之后才更新相应部分的内容。这种更新是瞬间的,用户几乎感觉不到。
▲带来更好的用户体验。
▲可以把以前一些服务器负担的工作转嫁给客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。
▲基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
▲进一步促进页面呈现和数据的分离。