基于Ajax的Web服务框架研究外文翻译资料

 2022-12-19 06:12

英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料


基于Ajax的Web服务框架研究

Xiaofeng Wang

Mathematical and Information Sciences Institute

Langfang Teachers College

Langfang, China

wxCzxy@126.com

摘要:在当前的网络环境中,由于服务器负载过重,Web服务的性能大大降低。为了解决这个问题,提出了基于Ajax的Web服务框架。在此框架下,业务逻辑得到了有效的迁移,可以充分发挥Ajax和Web服务的优势,使系统获得更好的人机界面和响应速度。

关键字:ajax;web服务;框架;XMLHttpRequest

I.介绍

随着网络和信息技术的不断发展,互联网已成为获取信息的主要渠道。当前的互联网,传统的B/S结构得到了广泛的应用,在传统的Web中,服务模式是用户与服务器之间的同步关系,服务器处理请求,用户大部分时间只能等待。传统的请求1响应极大地限制了交互式Web应用,用户体验差。Ajax技术在Web服务中解决了上述问题。

II.Ajax技术介绍

A.ajax技术的概念

ajax称为异步javascript和xml,它是由javascript、xhtml、w3c-dom、xml和xmlhttprequest组成的异步通信技术,核心是javascript和xmlhttprequest,ajax不是一种单一的技术,而是几种相互强强联合、各司其职的技术。共同协作。它包括:

1)使用xhtml和css标准化显示。

2)使用DOM动态显示和交互。

3)使用XML和XSLT进行数据交换和相关操作。

4)使用xmlhttpRequest异步查询数据和检索。

5)使用javascript将所有内容绑定在一起

B. Ajax Works

Ajax使用HTML页面中包含的JavaScript脚本将异步数据请求发送到服务器,服务器返回只包含XML格式数据的响应。javascript使用xml文档对象模型解析数据,根据获取的数据使用html文档对象模型生成或更新浏览器端用户界面,实现不刷新网页的更新,如图1所示,ajax的主要功能是xmlhttpRequest对象的使用和doms处理。XMLHttpRequest可以用于与后端服务器交互,通过使用Ajax引擎,使应用过程自然,操作非常顺利,因为它只与服务器交换有用的数据,页面元素、布局和其他不必要的数据不再从服务器端重新加载,从而提高了N网络传输效率。由于XML文档对象模型规范的统一性,使得我们能够按照javascript标准的DOM对象解析来自服务器端的数据,减少编码和调试的工作量,保证跨平台操作的应用。

图1 Ajax Web应用程序模型

C.支持Ajax的Web的特点

1)减轻了服务器的负担。Ajax的基本原理是按需获取数据,因此可以最小化

服务器上冗余请求和响应的负担。

2)不刷新更新页面,减少用户等待时间,用户体验更好。

3)我们可以把服务器的一些负担交给客户端,客户端的空闲处理能力来处理,减轻服务器和带宽的负担,节省空间和带宽的租用成本。

4)Ajax可以通过外部数据进行调整。

5)采用标准化技术,支持面广,不需要插件或下载小程序。

6)Ajax提供了一个Web界面和分离应用程序。

III.基于Web服务框架

  1. 传统的Web服务框架

图2 传统的Web服务框架

Web服务是一种新型的互联网系统集成技术。从表面上看,Web服务是一个应用程序,它的API接口暴露在可以通过Web调用的外部,我们可以使用通过Web编程的方法来调用这个接口。Web开发人员可以使用它来共享应用程序逻辑,以减少重复代码的数量。因此,不仅可以创建较少的逻辑,还可以建立和扩展它。Web服务的目标是消除语言差异、平台差异、协议差异、数据结构差异,进而成为不同组件模型与异构系统集成技术之间的粘合剂。它的开发和使用独立于各种操作系统、编程模型和语言上的Web。Web服务框架系统如图2所示。

1)服务提供者:在Web服务服务描述中定义的服务的所有者,并将其发布到服务注册中心。

2)服务请求者:服务请求者可以是浏览器、个人或没有用户界面程序控制它。

3)服务注册中心:服务提供者在此发布服务描述,服务请求者在此获取服务描述。

Web服务是松散耦合的可重用软件模块。在使用Web服务技术的系统中,只需要进行协调和自由配置,任何应用程序都可以调用Web服务接口来连接到系统,这种方式灵活、简单、快捷,真正是一种“即插即用”。Web服务是标准规范的XML服务描述,其接口隐藏了服务的细节,允许我们使用独立于硬件、软件平台和编程语言的Web服务。传统的Web服务功能如下:

1)用户每次获取的页面是新的。

2)所有请求都来自用户所做页面的操作。

3)工作流程为:用户操作-gt;服务器响应gt;操作-gt;服务器响应;是渐进式的,或者是同步式的。具体工作流程如图3所示。

图3 传统的Web应用程序模型(同步)

  1. 基于Ajax的Web服务框架

Web服务是一个包含多个方法的对象,这些方法允许用户通过Internet连接引用。通过在用户浏览器客户端和Web服务代理之间添加Ajax引擎的中间层,它将用户和代理服务器之间的交互转移到Ajax引擎,它是异步的,减少了用户等待时间,使人们在浏览器中直接感受到与Web服务的交互,从而允许人们更好地访问。到Web服务服务。基于Ajax的Web服务框架如图4所示。

图4 基于Ajax的Web服务框架

相对于传统的Web服务框架,由于Ajax引擎的存在,服务器的工作流变成了异步交互,在浏览器与服务器进行通信的同时,用户可以继续操作而不被刷新中断。当客户端引擎解析的服务器数据完成后,您可以随时刷新当前页面中的显示。例如:浏览谷歌地图,用户拖动地图,浏览器会在后台请求一张新的地图照片,用户可以继续拖动地图并导航到以前的地图。新结构下的异步工作流如图5所示。

图5 Ajax Web应用程序模型(异步)

基于Ajax的Web服务框架的优点是客户端与服务器异步通信,数据传输是在页面内完成的,不需要中断用户的操作,Web应用程序具有更快速的响应能力;由于客户端Ajax引擎的存在,客户端可以采用利用空闲容量来执行某些事务,可以减轻服务器和带宽的负担,Ajax引擎可以按需获取数据,您可以最小化冗余请求和响应以减轻服务器的负担。

IV基于Ajax的Web服务框架的安全问题

由于Ajax是基于Javascript和XML的,因此Javascript和XML安全漏洞将对基于Ajax的Web服务的安全构成威胁。根据安全问题的原因,它可以分为以下四类。

A.javascript问题

1)XSS跨站点攻击问题。XSS被称为跨站点脚本攻击。指恶意攻击者向网页插入恶意HTML代码,用户浏览网页时会执行嵌入网页的HTML代码,以达到恶意用户的特定目的。对于Ajax框架的客户端脚本,由于javascript脚本本身可以创建HTTP请求,并且请求的格式与浏览器中的用户完全一致,因此Web服务器无法识别哪个请求来自用户的实际操作,这是恶意javascript脚本创建e xmlhttpRequest对象。因为XMLHttpRequest请求是在后台发送的,所以用户无法从浏览器的状态判断它是否是XSS攻击。此外,由javascript创建的网页内的整个HTTP请求可以自动符合浏览器的当前状态(包括证书状态和许可证状态),恶意脚本可以利用这些权限与Web服务器通信。因此具有与之互动的能力。可以看出,可以自行创建HTTP请求的新JavaScript特性极大地扩展了XSS在Web应用程序中的危害和影响。

2)恶意javascript问题.javascript是Ajax的关键技术之一,主要用于调用xmlhttpRequest,以及通过DAM访问和修改页面。因此,安全问题直接关系到基于Ajax技术的Web服务安全。Javascript具有动态修改页面的能力;攻击者可以在网页中添加一个标签,结合Ajax客户端逻辑功能进行攻击,新结构下的Web服务变得越来越不安全。主要有以下两个方面:

a)使用javascript代码耗尽浏览器资源。这些代码的特点往往是无限循环,或继续创建一个新的对象,最终会耗尽浏览器或客户端的主机CPU和内存资源,导致崩溃,使用户无法继续使用Web服务。

b)攻击者可以创建一些恶意的javascript代码来威胁Web服务,利用javascript动态生成链接对象,隐藏iframe标签等特征,创建自动主机生存检测器、自动谷歌链接搜索器等。

B.跨域问题

1)基于浏览器插件的跨域访问。黑客可以使用浏览器插件,如flex/flash的ajax接口,浏览器中的javascript发送get和post请求,如果flash插件的跨域策略配置不当,很可能实现跨域访问。

2)javascript动态生成lt;scriptgt;或lt;imggt;标签发送数据。由于lt;scriptgt;和lt;imggt;标记不遵循域名请求的约束,所以其src属性可以指向任何域,从而达到向第三方发送信息的目的。该方法方便、隐蔽发送,并与Ajax框架紧密相连。只要攻击者能够成功生成lt;scriptgt;tag和lt;imggt;tag javascript代码并嵌入到网页中,设置调用条件,就能够完成跨域攻击。

C.拒绝服务(DoS)问题

由于Ajax的特点,客户端浏览器将比传统的Web服务更频繁地向服务器发起请求,并且可以被XSS攻击触发,一旦使用,即使有些短链接,服务器也将面临巨大的挑战。因此,基于Ajax的Web服务更难抵御DoS攻击。xmlhttpRequest可以是动态创建并发送到Web服务器,因此恶意的javascript代码可能会继续在后台创建xmlhttpRequest对象并向Web服务器发送请求。如果Web服务器存在XSS漏洞,则注入恶意脚本可以继续为网页创建xmlhttprequest对象,当许多用户同时打开注入恶意脚本的网页时,Web服务器可能会因为无法处理稳定的Web请求流而崩溃,从而达到dos攻击。

D.注入问题

1)SQL注入问题。在Ajax框架中,虽然客户端和服务器的通信是在后台进行的,但是通过分析客户端的源代码,仍然可以得到发送到服务器的请求字符串,但是请求比传统的情况更复杂。虽然大多数站点都有认证步骤,但是恶意用户仍然会采取各种策略来绕过安全验证,如SQL注入。在绕过安全验证之后,他将能够直接访问数据库。这种安全威胁和传统的SQL注入攻击没有区别。

2)JSON注入问题。Javascript对象表示法(JSON)是一种简单而有效的轻量级数据交换格式,它包含一个对象、数组、哈希表、向量和列表数据结构。基于JAXB的Web服务应用程序的JSON序列化是一种非常有效的交换机制。开发人员经常使用Ajax和JSON来获取必要的信息并将其传输到DOM。如果DOM和可执行程序被注入恶意脚本,则可以实现对Web服务的攻击。

3)XML注入问题。Ajax应用程序有时调用或接受来自不受信任域的XML数据流,这些XML文件将被浏览器的XML解析器接受。如果恶意用户篡改这些第三方XML文件并向XML数据流中注入恶意内容(如恶意脚本),将触发脚本的执行来解析XML文件,从而可能导致跨站点脚本攻击。

V结论

引入了Ajax技术,克服了传统Web服务框架的缺点,形成了基于Ajax Web服务的新框架,提高了用户体验。它具有更好的可扩展性和更短的响应时间,并且易于管理底层数据。它可以提高系统的可扩展性和兼容性,在一定程度上解决不同系统之间的“数据孤岛”问题,减少用户等待时间。Web服务和Ajax仍在开发中,并将逐步加入新的功能。作为一种新的系统集成技术,Web服务和Ajax技术的结合应用具有良好的前景。

参考文献

[1] Jiquan Shen, Jixiang Jiao. Research on Integration of enterprise information resources based on Ajax and Web services [J]. Computer Technology and Development, VoLl8, No 4, Apr.2008, pp.93.

[2] Asleson R, Schutta N T. AJAX Tutorial [M].Ling Jin, etc.Beijing: Posts and Telecom Press, 2006.

[3] Wei Sun, Wei Wang. Enterprise application integration technology based on Ajax and Web Services [J]. Technology Square, 2007.

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[19736],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。