细看Web 2.0的三大技术特征

开发 前端
Web 2.0经过数年的发展,已经由热门的概念转向成熟的技术,那么在Web 2.0中,都有哪些技术需要我们熟知?哪些技术值得深度探索和学习?

尽管对于Web 2.0的定义不仅仅只有一种,但是它的核心是互联网,扮演着社交网络的一个平台,在这个平台上面信息是可以被创建的,并且可以在有趣的社区里面与大家分享。因为通过提供一些更加有效的用户界面来实现增强平台的性能,丰富的互联网应用软件(RIAs)与Web 2.0的概念才能相结合。

AJAX与Web 2.0相结合是因为它能够支持使用一种轻便的方法来开发RIA,通过一种单一的普遍存在的界面——Web浏览器,就能执行。

对于现有社交网络平台,比如wiki和博客的互动模式的一个调查显示他们缺乏真正的实时的人机交互。这是一个伪同步网络模型,当我们考虑预想中的Web 2.0系列的下一代平台的时候,这是必须要克服的一个问题。基于互联网的交流就是Web2.0所需要的,近乎瞬时互动的最基础的例子,但是即便是这些基础能力,升级,轻便,以浏览器为基础的机制都是大多数AJAX无法实现的。

基础内容之基于Web的推动

工业上并没有为机制定型,或者是为异步数据设定一个名称,推动其到浏览器上。在AJAX领域内,技术的成长伴随着各种各样的名称,包括AJAX Push、 Comet和 Reverse AJAX,但是不管你称呼其什么,各种做法都有一个共同的特征。唯一可用于浏览器的轻量级的交流机制就是HTTP协议,但是HTTP协议只能减轻一些困难,这些困难主要是执行从浏览器到服务器的标准请求/回答交流机制。为了交付异步响应,通过在服务器中支持一个开放式的请求来达到反转HTTP协议的目的的操作是非常有必要的,并且当一个更新操作可用的时候,彻底的执行这个请求。标准AJAX请求处理与进栈的倒转机制请求之间的不同,如图一所示。

AJAX请求处理与进栈的倒转机制

为了支持异步进栈,预期的基于服务器的事件中我们必须保持开放的浏览器连接,这将会导致浏览器外表的变化。直觉告诉我们这里能够提供这种方法,并且在这种情况下,当我们面对浏览器和服务器上面关于连接的问题的时候,直觉做得很好。

浏览器连接限制

异步Web技术所要面对的主要问题中的一个是由典型的浏览器“双连接限制”所引起的。为了减轻服务器负载,用户代理确定的HTTP规范建议每服务器最多连接两个浏览器,但是异步技术消耗掉了其中的一条连接,将其作为通知渠道。考虑到这样一种情况,多重浏览器窗口在一样的Web页面打开,如果每一个窗口都尝试着确定它自己的连接,我们很快就会造成可用连接的饱和。在这些限制条件内工作,单一的一个连接肯定会被分享,但是为了确保安全,各种不同的浏览器窗口的脚本环境都是独立的,这使得彼此之间协调分享连接变得非常困难。一种可以使用于此处的技术利用一个可共用的HTTP cookie,这个HTTP cookie于所有的HTTP关联,与一个给定的服务器共同工作。Cookie被共用于交叉的窗口上,并且通过Java脚本的操作可以被用于跨窗口的交流。

在门户网站环境中这个问题会被扩大,因为传统的门户网站引擎不支持必须的异步通信途径。为了推动多重门户网站的工作,不仅仅是需要分享浏览器连接,而且一个单一的共享服务器连接被要求排列异步请求。如果门户网站的部署是来自于多重的WAR,这里将会产生一个额外的难题,因为共享机制必须在多重Web应用程序之间并列协调,并且将会要求一些IPC机制来实现这个操作。当我们评估了不同的推进机制,自从它变得越来越复杂,超过了典型的应用开发人员应该接触的范围,了解它们是如何标记连接共享问题就变得非常重要了。顺便说一句,浏览器供应商将会彻底的降低共享连接的复杂性,他们将会通过控制HTTP流水线操作来实现降低共享连接的复杂性,因此可以允许不同的窗口共享一个单一的连接。

应用服务器可扩展性

当我们审查来自应用服务器方面的开放连接的问题,我们发现这个问题发生了变化。结果是现代的应用服务器可以应付很多的高效连接,但是在现有的servlet模型下,每一个这样的连接都要求一个线程的执行。如果这些连接变的持续时间很长,由于服务器发起的更新,服务器的可扩展性将会被线程池用尽这样的情况所拖累。

尽管在JSR 315中,标准活动在servlet模型进展中是与异步通信相关联的,在工业上解决这个问题的方法是根本不相同的,没有标准的。标准机制的缺乏是十分令人失望的,因为任何可升级的推进机制都需要紧紧地与基础服务机制相结合,这一切要求部署的具体实施。好的消息就是多种多样的解决方案已经出现了,跨越开源的应用服务器,哪一个我们需要考察?

结论

我们描述Web 2.0的特征,如自发的平台,实时的社交网络,审阅与使用轻量级基于Web技术的交付时候必须的入栈模式性能连接的复杂性,传递信息性能方面一些开源的技术开始出现。所以,Web 2.0在今天很有可能就是伴随着现有的开源技术。更远一些来说,标准化的制定将会有所帮助,下一阶段的浏览器执行将会最终缓解这种复杂性。如果入栈模式的Web应用和Web 2.0在你的预料之中,投入进去看看什么即将会发生吧。有一点需要谨慎,你需要谨慎的检查现有开发的***方法和强制部署,设计出一种方法能够准许你把重点放在应用开发上面,而不是那些低级别的入栈之类的基础开发。

 

【编辑推荐】

  1. Web 2.0应用10种商业模式
  2. Web 2.0巨头危机四伏 领先地位难持续
  3. Web 2.0需要向SOA学习的五件大事
  4. 实现真正Web 2.0 需借助开源技术力量
  5. Web 2.0 时代PHP能走的更远吗
责任编辑:佚名 来源: IT专家网
相关推荐

2017-03-17 19:48:01

人脸识别

2011-05-16 11:21:44

Web 2.0

2021-09-24 18:14:02

华为云GaussDB

2011-11-21 18:19:20

Web iMC

2010-07-22 08:49:06

LAMPWeb

2009-11-30 16:36:35

IBM

2011-09-08 11:02:39

Web2.0网康

2017-01-03 09:39:23

2018-06-14 14:07:57

Pythonweb框架

2009-07-30 18:39:57

Web技术

2009-07-08 09:24:54

综合布线铜缆管理

2009-07-01 08:49:34

架构Web2.0Twitter

2009-02-03 09:41:50

UI组件事件驱动JSF

2009-10-14 08:32:14

Windows 7PHP高校IT

2023-06-26 18:03:26

btrace 2.0开源

2009-02-04 17:36:09

ibmdwWeb2.0

2023-12-26 00:52:54

趋势元宇宙Web

2020-08-24 07:00:00

数字化转型人工智能物联网

2010-03-11 15:01:52

Python源码

2009-08-07 09:26:36

Web2.0社交软件
点赞
收藏

51CTO技术栈公众号