什么是 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 應用的頁面刷新。
原文轉自:http://www.anti-gravitydesign.com