2007-06-04

AJAX的适用范围以及对服务器的性能影响

来源: 本站收集整理 作者:佚名 评论 0 条
 

本文由浅之深的阐述了AJAX的适用范围以及对服务器的性能影响

AJAX热了也有两三年了,它对WEB带来革命性的改变以及对为用户带来的前所未有的体验感受是毋庸置疑的。虽然AJAX会给WEB应用程序带来很多好处,但是在AJAX应用用在什么地方,怎么用仍然需要认真考虑,千万不可以滥用。

首先阐述几个老问题:

第一个老问题,由于AJAX需要javascrip的支持,另外还需要用到xmlhttp对象,所以对于浏览器的兼容性需要考虑。可喜的是,市面上决大多数的浏览器都已经支持xmlhttp以及javascript。到目前,我们几乎可以最小程度的考虑兼容问题,但并不代表可以忽略它,究竟不同的浏览器执行相同客户端代码会产生不同的效果。

第二,用户的习惯性,很多用户习惯与使用传统的方式来与服务器进行交互,虽然他们也许已经厌倦,但是习惯就是习惯,忽然出现一种新的方式的时候反而会让他们不知所错。AJAX不需要刷新浏览器,因此在很多情况下用户执行一个操作后发现浏览器并没什么动静会感到很迷茫,非凡是当网络速度慢的时候,用户的一个请求需要很长时间才能反应,在等待的这段期间,用户也许会认为WEB有问题关掉浏览器或则再做别的什么事情。另外,用户会习惯于浏览器提供的一些功能,比如前进、后退、刷新、停止,这些功能是用户会经常并习惯用到的,当采用AJAX的时候会导致这些功能多失效,当然现在有很多人都写出了解决的方法,网上有很多这些解决方案的文章。

另外还需要注重的一个问题是对服务器的性能的影响。

AJAX异步请求,这个方式会带来一个新问题。传统方式中,对于一个用户而言用户每对服务器进行一次请求需要等待服务器做出响应后才能对服务器进行另一次请求,这样后面的请求能确保是在上一个请求执行完以后处理的。但是AJAX打破了这种束缚,一个用户就可以快速的连续的执行多次请求,相对于传统方式来说,这会对服务器提出更高的要求以及对程序设计者带来更大的挑战。通常情况下,应该尽量避免这种情况,例如sina的评论页,分页的拖动条采用的就是异步请求的方式,用户拖动游标可以很方便的定向到需要的分页,但是在拖动的过程中,游标每到一个分页点都会向服务器请求相应的数据,假如用户以一个特定的速度将游标拖动到第10页,那么服务器将会有9次的请求是多余的,假如这9次多余的请求都让服务器执行了读取数据库的工作,那么这将会浪费大量的服务器资源。假如用户发现第10页没有他想要的东西,于是又移动到第9页,服务器又将请求相应的数据,但是实际上服务器在曾经获取过同样的数据,假如这样的事发生在现实的生活中也许你就会觉得这样真的很多余很浪费。

OK ,还是以分页为例,假如我们不用拖动条,按照以前的分页思路“所得及所需”,每次请求不同的页只获取该页的数据,并使用AJAX给用户更好的体验感受。这样好象就合理了,因为以前大家都这么做,但是实际上并不是最合理的方法。通常情况下,用户最喜欢看的是前3页,这3页被反复请求的可能性是最大的。在传统模式中, 由于不管怎么样都会回送服务器处理,所以在分页思路上提出了“所得及所需”的说法。但是假如在使用AJAX的时候还用这样的思路就稍显死板。既然都使用了AJAX那么很能确定的是你的用户需要支持javascript,那么何不在客户端再分页呢?前面说到,用户最喜欢的前3页,假如,用户需要从第1页读到第3页,假如是“所得及所需”,那么不管用没用AJAX,用户在读到第3页的这个过程中都需要请求3次服务器。

我们来比较一下这两种情况(假设没页10条数据):
共2页: 上一页 1 [2] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:JS实现鼠标点击复制标题和地址到剪贴版  
下一篇:优化JavaScript脚本的性能
    评论加载中…

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号