什么是 Web2.0 ?它包含了哪些技术?这些技术的产生又对网络应用安全带来了哪些隐患和风险?本文从这些问题着手,重点探讨 Web2.0 时代的技术特征和应用安全,并通过结合 Rational 安全解决方案,为大家提供面对新时代、新问题的应用安全应对思路。
什么是 Web2.0 ?它包含了哪些技术?这些技术的产生又对网络应用安全带来了哪些隐患和风险?本文从这些问题着手,重点探讨 Web2.0 时代的技术特征和应用安全,并通过结合 Rational 安全解决方案,为大家提供面对新时代、新问题的应用安全应对思路。
1. 什么是 Web2.0 ?
互联网技术在不断发展,从传统的、以获取信息为主的 Web 应用(如各大企业门户网站),到目前被广大网民喜爱的 Blog、Wiki 等,一种变革正在悄然形成。这种变革,不但改变了我们对 Web 应用的体验,也正在渐渐改变我们的生活方式。这就是 Web2.0。
在 Web 应用早期,我们是从浩瀚的互联网数据中,自己去寻找感兴趣的、由网站开发者提供的静态信息;而在 Web2.0 时代,我们自己就是信息的构建者,通过人与人的互动而产生出创造性的内容,这些内容再被更多的人管理和使用。那么,究竟什么是 Web2.0 呢?业界对此并没有一个标准定义。我们可以通过以下认同最高的描述,体会 Web2.0 的真谛。
“Web 2.0 并不是一个技术标准,不过它包含了技术架构及应用软件。它的特点是鼓励作为信息最终利用者通过分享,使得可供分享的资源变得更丰盛;相反的,过去的各种网上分享方式则显得支离破碎。”(引自维基百科)
“将纷繁芜杂的 Web2.0 现象放置于科技发展与社会变革的大视野,Web 2.0 可以说是信息通讯技术引发信息革命、知识社会所带来的面向未来、以人为本的创新 2.0 模式在互联网领域的典型体现,是由专业人员织网到所有用户参与织网的创新民主化进程的生动注释。”(引自维基百科)
从上面的描述可以看出,Web2.0 是一种新现象、新概念、新思维方式,而并不是新的技术标准。不同的角色,感受的是 Web2.0 的不同气息:对于研究网络技术的人员而言,Web2.0 像是一组名词、一些新社会软件的合成体,比如说 Social Networking、Blog、Wiki、Ajax、Mashup 等;对于经常在互联网上交流和分享的网民来说,Web2.0 则提供了更为自由、便捷的信息互动手段,他们借助 Blog、Wiki 等,和有着共同爱好的人们交换思想、分享内容;而对于商人们而言,Web2.0 则是新业务模式、新行业游戏规则的转变。新模式下,以往在门户网站上购买广告条,期待茫茫人海中出现感兴趣的鱼儿的被动现象,可以转变为针对有着不同兴趣爱好的社会网络群体,投放不同分类广告的主动局面,甚至可以主动收集人们的网络使用习惯、偏好等,推出完全不同的个性化服务。这些转变,也相应引出了“Blog 营销”、“长尾现象”等新经济模式。
对于更为深入的理解 Web2.0,Tim O'Reilly 的七条原则会更有帮助些。
1、将 Web 作为平台
2、驾驭群体智慧
3、数据将变成未来的“Intel Inside”
4、软件不断发行与升级的循环将会终结
5、轻量型程序设计模型
6、软件运行将跨越单一设备
7、丰富的用户体验
详细描述,请参考网址:http://tim.oreilly.com/news/2005/09/30/what-is-Web-20.html。结合这七条原则,我们可以更清楚的理解图 1 所示的 Web1.0 和 Web2.0 主要特性比较。 其中,Web2.0 “复杂 & 异步”的特点,我们会在后面的技术章节中涉及到。
图 1. Web1.0 和 Web2.0 比较
下面我们举一些 Web2.0 的例子:
社会网络(Social Networking):也叫做虚拟社区,是一群有着共同兴趣的人组成的大众网络。这些兴趣可以是任何类型,比如说健康状况类似、拥有同一款汽车、都购买了 IBM 产品,等等。如 Facebook(www.facebook.com),就是一个著名的社会网络服务网站。
Wiki:一种网站,允许用户方便的添加、删除或者编辑网站上的内容,有时甚至无需注册。这种便捷的交互操作使其立刻成为共享群体智慧的有效工具。业界有很多著名的 Wiki 网站,如维基百科 (www.wikipedia.org),IBM 在内部也开放了 WikiCentral。本文有部分信息来自于这两个站点。
Mushup:中文是混搭的意思,也有翻译为聚集。指整合网络上多个资料来源或功能,以创造新服务的网络应用程序。“混搭”一词源自于流行音乐将两种不同风格的音乐混合,以产生新趣味的作法。Google 开放了其 Google Maps 的 API,因此诞生了很多以此为 Mushup 的应用,如 Twittervision(beta.twittervision.com),就是将 Google Map 和 Twitter 功能混搭,制造出在全球地图上,不同区域的人们互发消息的有趣应用。
2. Web2.0 部分技术浅析
Web2.0 中涉及了很多名词和术语,比如 Tags、Blogs、Ajax、Flex、MalWare、Wiki、RSS、Social Networking、Podcast、Mushup 等等。由于篇幅所限,我们仅在本章节分析 Ajax、Flex,同时,还将涉及越来越受到关注的 MalWare。
2.1 Ajax 和 Web2.0
Ajax 全称为“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),是一种创建交互式网页应用的网页开发技术。如图 2 所示,在 Web1.0 时代中,客户端浏览器和服务器之间的通讯是同步的,也就是说,当我们在 Web 页面上填写表单(例如使用搜索功能),请求就会发送到服务器上,经过处理后,服务器将完整的结果页面再次发送回来。可以看出,发送请求的前后两个页面,很多内容是完全重复的。这种做法的反复执行,极大的浪费了网络带宽,也浪费了使用者很多等待多余信息的宝贵时间。
图 2. Web1.0 的通讯模式
Ajax 应用则可以和服务器通讯更改过的内容。它借助于客户端的 JavaScript 处理来自服务器的响应。同时,还有很多任务是由客户端本身来完成。因此,在网络上的数据交换更少、Web 服务器的处理时间更短。用户感觉到的是更快的请求响应速度。如图 3 所示。注意,图中的数据刷新替代了传统 Web 应用的页面刷新。