提高Ajax应用程序性能,避开Web服务漏洞

作者:T专家网论坛 2008-11-13 07:29:49

Ajax 概述

Ajax 概述

  Ajax 通过将用户的浏览器体验(例如,企业对企业交易)转换为一个基于 XML 的 Web 服务门户(例如企业对消费者交易),实现了响应式和交互式 Web 服务。Ajax 使用的方法是在 Web 页面和服务器之间,通过 HTTP 协议构建一个额外的处理层。该层拦截来自用户的请求,然后在后台与服务器通信并异步获得所需的 HTTP 协议内容。服务器请求和响应不需要匹配用户操作,例如一个更新数据库记录的请求和一个更新成功的响应。

  Web 服务漏洞

  让我们解决一些有关额外处理层的问题。由于它依赖 XML 作为请求和响应负载的内容类型,Ajax 增加需要传输的 XML 流量。当出现大量的请求和响应时,Ajax 应用程序会阻塞网络通信。而更严重的问题是,大量的通信会使 Ajax 应用程序受到 Web 服务漏洞的威胁。如果这些漏洞被人利用,应用程序或系统的性能将受到损害。

  让我们看看四个漏洞实例:

  过高的带宽

  破损数据

  频繁的小型 HTTP 请求

  内存泄漏

  过高的带宽

  文本格式的 XML 消息可能是二进制数据带宽量的两倍之多。传输 XML 消息所需的带宽越多,系统或应用程序用来执行其他任务的可用资源就越少。例如执行复杂算法来获取期望结果。过高的带宽可能导致由系统超载引起的性能减退。

  破损数据

  过高的带宽将导致 Ajax 应用程序输出破损的数据,因为没有足够的资源生成干净的数据。这意味着 Web 服务门户(Ajax 应用程序属于其中的一部分)将把破损数据暴露给门户的其他部分,从而导致畸形消息和过度解析。如果威胁者利用了这个漏洞,则会引起浏览器崩溃。

  频繁的小请求

  Ajax 的一个缺点就是允许您生成大量较小的请求,而不是一个大的 post-back。频繁的、较小的 HTTP 请求会加重后端服务器、负载均衡程序和防火墙的负担,结果是造成过高的带宽,最终导致性能降低。它们还会超出浏览器或较慢的网络连接的接受能力,从而导致网络性能瓶颈

  内存泄漏

  在一个典型的 Web 应用程序中,Web 页面经常重新加载,清除该页面的内存并开始一个干净的页面。使用 Ajax 时,等待 Web 服务门户呈现下一部分内容的时候不需要重新加载页面。使用 Ajax 可以在浏览器中保持一个单页面应用程序长达数天,这使内存或其它资源泄漏更加严重。过度的内存泄漏(以及过高的带宽和频繁的 HTTP 请求)可能会造成 Web 门户出现破损数据,增加了黑客从 Internet 中利用系统漏洞的风险。

  风险评估

  对于上面的四个例子,您需要判断威胁方利用系统和服务器漏洞的风险级别以及对业务造成的影响。如果风险较高,需要使用一些保护措施提高 Ajax 应用程序的性能。其中一种保护是使用 SLA 保证增强服务正常运行时间可用性。

  Service Level Agreement

  无论怎样修改 Ajax 代码来提高带宽效率,始终存在一些风险和漏洞,需要您进行监视并解决。部署高效带宽 Ajax 应用程序并不能保证 SLA 中的服务级别保持在或高于指定的性能阈值点(例如 99.9 或 99.999%)。在 Ajax 应用程序中,当应用程序通过 Internet 从浏览器应用程序转移到服务器门户时,它将更容易受到攻击,特别是用来构建 Web 服务以检测性能问题(例如包丢失)的 XML 部分。

网页编辑:月亮


如果您对“提高Ajax应用程序性能,避开Web服务漏洞”有任何疑问要咨询,或者您对我们专家的解答有任何疑义,请您点击以下的链接提交意向单,我们的编辑和信息化专家将会很快为您做出回答,您提供的信息经过审核后将有机会出现在我们的网页上。
进一步咨询   专家介绍
文章评论
您的姓名 您的Email
提交评论 重写评论
关于我们 | 客服热线 | 广告服务 | 招聘信息 | 法律声明 | 投稿指南 | 联系方式
Copyright(C) ccw.com.cn,All rights reserved
中国计算机世界出版服务公司内容版权所有
京ICP证010182