Ajax号称是在Web2.0的浪潮中,最热门的Web技术。
Ajax(Asynchronous JavaScript and XML)并不是新的技术,它是多种技术的结合,使用XHTML和CSS标准化呈现;使用文档对象模型(Document Object Model)作动态显示和交互;使用XML和XSLT做数据交互和操作;使用XMLHttpRequest 进行异步数据接收;使用JavaScript绑定和处理所有数据。Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。而Ajax引擎,实际上是一个比较复杂的JavaScript应用程序,用来处理用户请求,读写服务器和更改DOM内容。 Ajax是传统WEB应用程序的一个转变。以前是服务器每次生成HTML页面并返回给客户端(浏览器)。在大多数网站中,很多页面中至少90%都是一样的,比如:结构、格式、页头、页尾、广告等,所不同的只是一小部分的内容,但每次服务器都会生成所有的页面再返回给客户端,这无形之中是一种浪费,不管是对于用户的时间、带宽、CPU耗用,还是对于ISP的高价租用的带宽和空间来说。如果按一页来算,只能几K或是几十K可能并不起眼,但像SINA每天要生成几百万个页面的大ISP来说,可以说是损失巨大的。而AJAX可以所为客户端和服务器的中间层,来处理客户端的请求,并根据需要向服务器端发送请求,用什么就取什么、用多少就取多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于纯后台处理并重载的方式缩短了用户等待时间,也把对资源的浪费降到*,基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序,所以Ajax对于用户和ISP来说是双盈的。 Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离),而在以前两者是没有清晰的界限的,数据与呈现分离的分离,有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理。 正面: 1、减轻服务器的负担。因为Ajax的根本理念是“按需取数据”,所以*可能在减少了冗余请求和响影对服务器造成的负担; 2、无刷新更新页面,减少用户实际和心理等待时间; 3、也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,节约空间和带宽租用成本; 4、Ajax由于可以调用外部数据; 5、基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序; 6、Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离);8、对于用户和ISP来说是双盈的。 负面: 1、一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax; 2、用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事; 3、Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰――用户不太清楚现在的数据是新的还是已经更新过的;现有的解决有:在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等; 4、对流媒体的支持没有FLASH、Java Applet好;
Ajax(Asynchronous JavaScript and XML)并不是新的技术,它是多种技术的结合,使用XHTML和CSS标准化呈现;使用文档对象模型(Document Object Model)作动态显示和交互;使用XML和XSLT做数据交互和操作;使用XMLHttpRequest 进行异步数据接收;使用JavaScript绑定和处理所有数据。Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。而Ajax引擎,实际上是一个比较复杂的JavaScript应用程序,用来处理用户请求,读写服务器和更改DOM内容。 Ajax是传统WEB应用程序的一个转变。以前是服务器每次生成HTML页面并返回给客户端(浏览器)。在大多数网站中,很多页面中至少90%都是一样的,比如:结构、格式、页头、页尾、广告等,所不同的只是一小部分的内容,但每次服务器都会生成所有的页面再返回给客户端,这无形之中是一种浪费,不管是对于用户的时间、带宽、CPU耗用,还是对于ISP的高价租用的带宽和空间来说。如果按一页来算,只能几K或是几十K可能并不起眼,但像SINA每天要生成几百万个页面的大ISP来说,可以说是损失巨大的。而AJAX可以所为客户端和服务器的中间层,来处理客户端的请求,并根据需要向服务器端发送请求,用什么就取什么、用多少就取多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于纯后台处理并重载的方式缩短了用户等待时间,也把对资源的浪费降到*,基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序,所以Ajax对于用户和ISP来说是双盈的。 Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离),而在以前两者是没有清晰的界限的,数据与呈现分离的分离,有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理。 正面: 1、减轻服务器的负担。因为Ajax的根本理念是“按需取数据”,所以*可能在减少了冗余请求和响影对服务器造成的负担; 2、无刷新更新页面,减少用户实际和心理等待时间; 3、也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,节约空间和带宽租用成本; 4、Ajax由于可以调用外部数据; 5、基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序; 6、Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离);8、对于用户和ISP来说是双盈的。 负面: 1、一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax; 2、用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事; 3、Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰――用户不太清楚现在的数据是新的还是已经更新过的;现有的解决有:在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等; 4、对流媒体的支持没有FLASH、Java Applet好;