Ajax技术的优缺点分析

1.优点是具有更迅捷的响应速度
(1).传统的Web应用允许用户填写表单(form),当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户页面的响应比本地应用慢很多。

Ajax可以把以前的一些由服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,从而减轻服务器和带宽的负担,进而节约空间和带宽租用的成本。Ajax应用可以仅向服务器发送并取回必需的数据,在客户端采用Javascript处理来自服务器的响应。因此在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。

(2).使用Ajax的最大优点,使Web中的界面与应用分离(也就是说是数据与呈现分离),能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户的动作,并避免了在网络上发送那些没有改变过的信息。

(3).Ajax不需要任何浏览器插件,但需要用户允许Javascript在浏览器上执行。就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持Javascript的用户提供替代功能。


2.Ajax的缺点
(1).Ajax可能破坏浏览器的“后退”按钮的正常行为。在动态更新页面的情况下,用户无法回到前一个页面的状态,这是因为浏览器仅能记下历史记录中的静态页面。“后退”按钮是一个标准的Web站点的重要功能,但是它没法和Javascript进行很好的合作。这是Ajax所带来的一个比较严重的问题,因为用户往往是希望能够通过“后退”按钮来取消前一次操作的。那么对于这个问题有没有办法?答案是肯定的,当中大多数都是在用户单击“后退”按钮访问历史记录时,通过建立或使用一个隐藏的Iframe来重现页面上的变更。

(2).进行Ajax开发时,网络延迟即用户发出请求到服务器发出响应之间的间隔—–需要慎重考虑。不给予用户明确的回应,没有恰当的预读数据,或者对XMLHttpRequest的不恰当处理,都会使用户感到延迟,这是用户不愿意看到的,也是他们无法理解的。通常的解决方案是,使用一个可视化组件告诉用户,系统正在进行后台操作并且正在读取数据和内容。

(3).现在一些手持设备(如手机、PDA等)还不能很好的支持Ajax。

(4).用Javascript制作的Ajax引擎,Javascript的兼容性和DeBug都是让人头痛的事。

(5).Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰——用户不太清楚现在的数据是旧的还是已经更新过的。现有的解决方法有:在相关位置提示、数据更新的区域设计的比较明显、数据更新后给用户提示等。

(6).Ajax的安全问题。Ajax技术在给用户带来很好的体验的同时也带来了新的安全威胁,Ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。Ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有Ajax也难以避免一些已知的安全弱点,如跨站点脚本攻击、SQL注入攻击和安全漏洞等。

(7).对搜索引擎的支持比较弱。如果使用不当,Ajax会增大网络数据流量,从而降低整个系统的性能。

(8).客户端过肥,太多客户端代码造成开发上的成本上升。编写复杂、容易出错;冗余代码比较多,再加上将以往的很多服务器端代码放到了客户端;破坏了Web的原有标准。

(9).对串流媒体的支持没有Flash、JavaApplet好。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值