AJax技术

一种新的胖客户端技术——Ajax(一)(4)

字号+ 作者:H5之家 来源:H5之家 2017-04-03 15:01 我要评论( )

在传统的Web应用同步交互方式中,用户首先发送一个HTTP请求到Web服务器,然后Web服务器根据用户请示的内容,相应的任务,对其进行处理后再返回一个新的HTML页到客户端,如图所示。这是一种不连贯的用户体验,每当服

在传统的Web应用同步交互方式中,用户首先发送一个HTTP请求到Web服务器,然后Web服务器根据用户请示的内容,相应的任务,对其进行处理后再返回一个新的HTML页到客户端,如图所示。这是一种不连贯的用户体验,每当服务器处理客户端提交的请求时,客户都只能空闲等待, 此时浏览器显示的页面是空白的,这也就是通常所说的“白屏”现象,并且哪怕只是一次很小的交互、只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面。

图1同步的工作方式

自采用HTML进行Web传输和呈现以来,无论是基于哪种服务器技术(ASP、ASP.NET、JSP或PHP),Web应用中采用的都是如图中所示的处理模式。当页面内容比较少,或者服务器处理时间较短时,采用这种模式似乎没有什么不妥。但是,如果页面内容较多,服务器的响应时间较长,对于用户来说就难以接受了。根据调查,一个网页加载的时间如果超过4~5秒,那么大多数用户将不会等待,可能会选择切换到其他窗口或者直接关闭该页面。

此外,用户在某些时候仅仅需要改变页面中的某部分的数据,但是他不得不刷新整个页面。尤其在人机交互较为频繁的应用系统中,这种现象屡见不鲜,这显然是和人性化的软件设计原则相违背的。减少用户的等待时间,提高系统的可用性的途径除了优化代码、调整服务器配置之外,还可以选择使用Ajax技术。

使用Ajax后,用户感觉几乎所有的操作都会很快响应没有页面重载的等待。因为与传统的Web应用不同,Ajax采用了异步交互方式。它在用户和服务器之间引入了一个中间媒介,从而改变了同步交互过程中的“处理----等待----处理-----等待“模式。用户的浏览器在执行任务时即装载了Ajax引擎。该引擎是用java script语言编写的,通常位于一个隐藏的框架中,负责转发用户界面和服务器之间的交互。Ajax引擎允许用户和应用系统之间的交互以异步的方式进行,独立于用户与Web服务器之间的交互。现在,可以用java script调用Ajax引擎来产生一个HTTP的用户请求,数据编辑、页面导航和数据验证等操作不再需要重新加载整个页面,可以通过Ajax引擎向Web服务器发送请求。基于Ajax的Web应用模式如图所示:

图2异步工作方式

3 流行的原因

Ajax技术是从2005年2月诞生,到现在已非常流行,另外它并不是一门新技术,业内人士称其为“新瓶装旧酒”,那为什么它会这样流行?我们从环境角度和技术角度来两个方面来分别分析一下Ajax技术流行起来的原因。

3.1 环境角度阐述分析

(1)Web的发展历程的需要

Web的发展经历了纯静态页面的Web1.0时代,应用“CMS+数据库”模式的Web1.5时代,然后到了由用户导向的社会化网络为特征的Web2.0时代。Web1.0时代即纯静态页面时代,Web1.5时代的主要技术是数据库加上页面生成机制。这两个时代的特点是页面上的信息是由人来不断在后台的更新,没有一种把所有的信息推到你面前的机制。在Web2.0时代,出现了一种很好的方法可以把这些信息取过来放在面前:比如说,一个用户每天要看博客堂的博客,要上BBC的新闻,要看一下E-mail信箱的邮件,看一些相关的专业的网站,而且每天的工作就这几个网站。传统的方式使用户不得不打开N个浏览器窗口,一一输入网址进行查询。但是在Web2.0时代我们不需要这种单调重复的操作了。例如我们只需使用Google的个性化界面,就可以定制自己所需的内容。

另外,以前我们登录网站,看到的是一些静态的文本或是动态生成的数据,这些大量的数据需要我们人工来选择。如果想查询某一项内容,必须通过搜索引擎,进行分类搜索。比如说喜欢体育栏目,那可以去新浪或是TOM的体育频道,但这些大的门户网站不仅提供体育信息,也提供大量关于经济、金融信息。你要想找到你所需要的,往往需要费点精力。传统的网页开发方式中,这些信息是靠后台的编辑们每天不停地搜索信息,然后做成网页,发布到服务器上,不仅增加了访客的操作量,同时也增加了后台人员的工作量。这是Web2.0以前的客户体验及后台操作情况。

Web2.0与Web1.0的主要区别如图下表所示:

表1 Web2.0与Web1.0对比表

Web1.0 (1993~2003)

通过浏览器浏览大量网页 Web2.0(2003~)

网页,加上很多通过Web分享的其他内容,更加互动,更像一个应用程序而非一个网页

模式“读”“写”和贡献

主要单元内容“网页”“贴子/记录”

形态“静态”“动态”

浏览方式浏览器浏览器、RSS阅读器、其他

体系结构“客户端服务器”“Web Services”

内容创建者网页编写者任何人

主导者少数人“大量业余人士”

也就是说,Web1.0时代,网站是以编辑为特征,网站提供给用户的内容是网站编辑进行编辑处理后提供的,用户阅读网站提供的内容。这个过程是网站到用户的单向行为,Web1.0时代的代表站点为新浪,搜狐,网易三大门户。到了Web2.0则是以加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与,Web2.0不同于Web1.0的最大之处在于它的交互性。这个时期的典型代表有:博客中国、亿友交友、联络家等。

从2003年开始,具有Web2.0时代特征的Blog流行起来,发展到现在,几乎所有的门户网站都有自己的Blog。Blog的流行是因为它是人们可以自由表达自己的思想的一种方式,也就是说,Blog提供了表现个人思想的一种平台。随之而来的问题是,信息复杂太多太乱,要想在Blog中找信息比较困难,这时RSS技术出现了,它可以将Blog的内容用XML进行表示,当你在互联网上找Blog内容时,就可以去找它的RSS频道,因此网上就会有大量的XML数据,而这些数据信息被松散地放到各处。有没有一种方法将这些XML数据整合起来,把它到一个指定的地方去?基于Ajax的Web2.0技术,就实现了这种服务。也就是说,在Web1.0 和Web1.5时代,我们需要自己去找自己想要的信息,而在Web2.0时代是将东西推到你面前,让你选择你来看什么可以把别处的信息拿过来聚集在一起放。让我们可以很容易地从各种网站拿到最想要的信息,这是Ajax最大的魅力所在。

Ajax的创新使Web2.0时代的互联网有了更专业网站,这些站点的开发人员只需将这些原来编好的东西整合在一起,也就是利用Ajax技术将互联网上各类资源网站的内容整合起来,就可以在互联网上广泛使用。

(2)Web发展趋

势的必然结果

业内人士进行这种预测:随着Web的发展,有一天,你浏览网站时不需要进行任何搜索,只使用一个类似副表现形式客户端,就可在桌面上看到平时需要登陆各个网站看到的东西,从后台获取你需要的信息。

Web的发展趋势更注重智能化和人性化,它将向以下几方面的趋势进行发展:

(1)用户操作非常友好,注重用户体验。

免责声明:本文仅代表作者个人观点,与本网无关。

(2)去中心化,用户主导,用户参与,用户建设。

(3)社会化网络,内容开放和共享,支持API。

(4)内容通过聚合来组织。

(5)分散化的微内容网站受欢迎。

Web2.0时代的来临使Ajax这项技术更能其发展的巨大潜力和空间,Web的发展趋势也让我们看到了Ajax应用的前景。Web2.0时代的优越性是促使Ajax流行的主要原因之一。

3.2 技术实现角度阐述分析

3.2.1 Ajax的特性

图3传统的与基于Ajax的Web开发模式

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评