APP下载

Web2.0与Ajax技术解析

2010-09-04郑州大学远程教育学院网络管理中心黄喜民

河南科技 2010年9期
关键词:服务器端浏览器应用程序

郑州大学远程教育学院网络管理中心 黄喜民

Web2.0与Ajax技术解析

郑州大学远程教育学院网络管理中心 黄喜民

近来很多成功的Web应用都有一个共同特点,就是依赖于大量用户来丰富其内容,这种特点被称为Web2.0。伴随着Web2.0的出现,一种新型的Web应用程序也很快地流行起来,这就是Ajax应用程序,这种应用程序通过对服务器的异步请求调用,极大地改善了Web的响应速度和用户的交互体验。

一、Web2.0概述

Web2.0是2003年之后互联网的热门概念之一,目前对什么是Web2.0并没有一个很严格的定义。一般来说Web2.0是相对Web1.0(2003年以前的互联网模式)的新一类互联网应用的统称。根据Wiki定义:Web2.0是网络运用的新时代,网络成为了新的平台,内容因为每位使用者的参与(Participation)而产生,参与所产生的个人化(Personalization)内容,借由人与人(P2P)的分享(Share),形成了现在Web2.0的世界。从这个定义我们可以看出,Web2.0并不是一个具体的事物,而是一个阶段,是促成这个阶段的各种技术和相关的产品与服务的一个总称。

与Web1.0相比较,Web1.0的主要特点在于用户通过浏览器获取信息,而Web2.0则更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者。Web2.0与Web1.0的比较见表1。

表1 Web2.0与Web1.0的比较

从表1中可以看出,Web2.0相对于Web1.0而言,是一次从外部应用到核心内容的变化,具体地说,从模式上是单纯的“读”向“写”和“共同建设”发展;从主要构成单元上是由“网页”向“发表/记录的信息”发展;从工具上是由网页浏览器向各类浏览器、RSS阅读器等内容发展;从体系结构上由ClientServer(客户端/服务器)向WebServices(Web服务)的转变;内容创建者由程序员等专业人士向全部普通用户发展;主导者将由少数人向大量业余人士发展。

二、Ajax概要

Ajax是AsynchronousJavaScriptandXML的缩写,即异步的JavaScript和XML。通俗地说就是客户端请求通过异步调用服务器数据,实现页面无刷新操作的技术。Ajax正是实现前面所说的Web2.0的核心技术,借助Ajax可以将笨拙的Web界面转化成强交互性的Ajax应用程序。

在传统的Web应用程序模型中,浏览器负责初始化向服务器的请求,以及处理来自服务器的响应,而Ajax模型则不同,它提供了一个中间层——Ajax引擎——来处理这种通信。Ajax引擎(AjaxEngine)实际上只是一个JavaScript对象或函数,其核心是XMLHttpRequest对象,只有当信息必须从服务器上获得的时候才调用它。而且Ajax引擎向服务器发出的HTTP请求都是异步完成的,不必等收到响应后就可以继续执行后续的代码。

服务器将配置为向Ajax引擎返回其可用的数据,这些数据可以是纯文本、XML或者需要的任何格式,唯一的要求就是Ajax引擎能够理解和翻译这些数据。当Ajax引擎收到服务器响应时,将会触发一些操作,通常是完成数据解析,以及基于所提供的数据对用户界面做一些修改。由于这个过程中传送的信息比传统的Web应用程序要少得多,因此用户界面的更新速度将很快,用户也能够更快地进行他们的工作。Ajax应用程序模型如图1所示。

图1 Ajax应用程序模型

从Ajax应用程序模型中可以看出,比起传统的Web开发模式,Ajax向传统桌面程序靠拢了很多,一个基于Ajax的Web页面已经越来越趋向于一个单独的应用程序。在Ajax应用中,每个Web页面不一定仅对应一个服务器端页面,而可能是由多个服务器端页面共同协作完成的,同时,一个服务器端页面又可以为多个客户端页面服务,这样,每个服务器端页面就可以将功能分得很细。通过Ajax引擎,客户端页面可以根据用户需要来调用服务器端相应页面,获得数据并显示在页面上。此时大多数服务器端的页面已经不再是界面表现的工具,而是作为提供数据的“接口”,一个Web页可以从多个接口中获取数据,并将它们更新在页面中。

三、Ajax的幕后技术

Ajax不是单一的技术,而是多种现有技术的综合体现。

1.描述页面的HTML/XHTML。Ajax使用HTML/XHTML描述文档的结构,但仅用于描述Ajax页面的初始样式。在初始化之后,文档结构可能会随着程序的运行而有所变化。同时,HTML/XHTML还会告知浏览器下载将运行于客户端的JavaScript以及定义页面样式的CSS等相关文件。

2.表示文档结构的DOM。DOM(DocumentObjectModel)即文档对象模型,是HTML和XML文档的一个应用程序接口(API)。它提供了一种结构化的文档表示方式,它把网页、脚本和编程语言连接了起来。JavaScript可以访问到当前页面的DOM对象,并通过对其操作来间接地改变该页面的内容及结构。

3.定义元素样式的CSS。CSS(CascadingStyleSheet)即层叠样式表,用来指定HTML文件中元素实现的样式。通过使用CSS可将文档的结构和表现完全分开,HTML部分可专注于定义文档的结构,而控制样式则交给CSS来处理。这样极大地降低了DOM对象的复杂性,方便使用JavaScript对其进行维护。

4.表示服务器和客户端通信内容的XML。XML(eXtensibleMarkupLanguage),是一种扩展性标识语言。在Ajax技术中,客户端与服务器端交换的数据通常采用这种语言来描写。由于XML是一种通用的标识语言,可以在不同的CGI程序中被读取,提高了Web应用程序的可扩展性,从而可以把用Ajax技术开发的页面程序绑定到不同平台的服务器程序中。

5.实现与服务器异步通信的XMLHttpRequest对象。XMLHttpRequest对象,早在1998年就已经集成到了IE中了。随后,在各种主流的浏览器中也陆续开始得到支持。XMLHttpRequest对象的强大之处在于,它允许开发者在JavaScript中以异步的方式向服务器发出HTTP请求并得到响应,用户会有类似于桌面应用程序的动态、快速响应和高交互性的体验。

6.协调上述各种技术的JavaScript。JavaScript将上面提到的所有技术黏合在一起。通过JavaScript代码,开发者可以访问并维护当前页面的DOM对象,包括对其进行添加、删除和修改等操作,还可以通过维护某个DOM元素的CSSClass来改变它的外观样式,也可以使用XMLHttpRequest对象访问服务器的CGI程序,并将返回的XML或JSON类型的数据解析后应用到当前的计算或显示中。

四、Ajax技术适用的场合

作为一种新的Web应用程序模型,Ajax是一项非常诱人的技术,但并不意味着它就是一项通用的技术,一些场合使用Ajax可以带来很好的用户体验,而另外一些场合有可能给用户的使用带来灾难。Ajax的优点是可以很方便地实现异步交互与动态刷新Web页面,因此适用于用户和服务器交互频繁的场合。

五、结束语

作为Web2.0的主流应用技术,Ajax使浏览器可以为用户提供更为自然的浏览体验,同时Ajax使得Web应用既保留了B/S结构的优点,又具有C/S结构应用的强大功能和用户感受。所以,可以认为,Ajax就是Web标准和Web应用的可用性理论的集大成者,它极大地改善了Web应用的可用性和用户的交互体验,最终得到了用户和市场的广泛认可,因此,Ajax技术在Web2.0时代的广泛应用也是用户和市场的共同选择。

猜你喜欢

服务器端浏览器应用程序
Linux环境下基于Socket的数据传输软件设计
删除Win10中自带的应用程序
反浏览器指纹追踪
谷歌禁止加密货币应用程序
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
环球浏览器
网页防篡改中分布式文件同步复制系统
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序