微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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好。

原文地址:https://www.jb51.cc/ajax/161813.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐