『壹』 利用JavaWeb設計簡易聊天室,具體要求看補充
利用JavaWeb設計簡易聊天室
這樣你什麼柑橘
比較
『貳』 (JAVA WEB)網頁版聊天室將,所有人分組(有組號),如何實現只有同一個組號的人才能進入
簡單的辦法就是在User即用戶中定義組號的這個欄位基本判斷組號就行了,進入組的數量欄位基本能實現這個功能。
比價好的辦法是建立,User,group,room這個3個對象,然後在組中設立User對象的集合,在room也設置User對象的集合,User中設置組和room的集合,限制集合的大小為2如果超過2那麼限制groop增加這個User對象。
『叄』 使用WebRTC搭建前端視頻聊天室——點對點通信篇
WebRTC給我們帶來了瀏覽器中的視頻、音頻聊天體驗。但個人認為,它最實用的特性莫過於DataChannel——在瀏覽器之間建立一個點對點的數據通道。在DataChannel之前,瀏覽器到瀏覽器的數據傳遞通常是這樣一個流程:瀏覽器1發送數據給伺服器,伺服器處理,伺服器再轉發給瀏覽器2。這三個過程都會帶來相應的消耗,佔用伺服器帶寬不說,還減緩了消息從發送到接收的時間。其實最理想的方式就是瀏覽器1直接與瀏覽2進行通信,伺服器不需要參與其中。WebRTC DataChannel就提供了這樣一種方式。
如果對WebRTC和DataChannel不太了解的同學,可以先閱讀如下文章:
- WebRTC的RTCDataChannel
- 使用WebRTC搭建前端視頻聊天室——信令篇
- 使用WebRTC搭建前端視頻聊天室——入門篇
當然伺服器完全不參與其中,顯然是不可能的,用戶需要通過伺服器上存儲的信息,才能確定需要和誰建立連接。這里通過一個故事來講述建立連接的過程:
不如釣魚去
一些背景:
現在,老劉聽說老姚釣魚技術高超,想和老姚討論釣魚技巧。只要老劉和老姚相互之間知道對方的門牌號以及憑證,就可以串門了:
老劉和老姚相互之間知道了對方的門牌號和小區出入憑證,他們相互之間有什麼需要交流的直接串門就行了,消息不再需要門衛老大爺來代為傳達了
換個角度
我們把角色做一個映射:
於是乎故事就變成了這樣:
這樣,就建立了一個點對點的信道,流程如下所示:
故事
老劉和老姚已經可以相互串門了,經過一段時間的交流感情越來越深。老姚的親友送了20斤葡萄給老姚,老姚決定送10斤給老劉。老姚畢竟年事已高,不可能一次帶10斤。於是乎,老姚將葡萄分成了10份,每次去老劉家串門就送一份過去。
這里可以做如下類比:
這其實就是通過datachannel傳輸文件的方式,首先將文件分片,然後逐個發送,最後再統一的進行組合成一個新的文件
分片
通過HTML5的File API可以將type為file的input選中的文件讀取出來,並轉換成data url字元串。這也就為我們提供了很方便的分片方式:
組合
通過datachannel發送的分片數據,我們需要將其進行組合,由於是data url字元串,在接收到所有包之後進行拼接就可以了。拼接完成後就得到了一個文件完整的data url字元串,那麼我們如何將這個字元串轉換成文件呢?
方案一:直接跳轉下載
既然是個dataurl,我們直接將其賦值給window.location.href自然可以下載,但是這樣下載是沒法設定下載後的文件名的,這想一想都蛋疼
方案二:通過a標簽下載
這個原理和跳轉下載類似,都是使用dataurl本身的特性,通過創建一個a標簽,將dataurl字元串賦值給href屬性,然後使用download確定下載後的文件名,就可以完成下載了。但是很快又有新問題了,稍微大一點的文件下載的時候頁面崩潰了。這是因為dataurl有大小限制
方案三:blob
其實可以通過給a標簽創建blob url的方式來進行下載,這個沒有大小限制。但是我們手上是dataurl,所以需要先進行轉換:
獲得blob後,我們就可以通過URL API來下載了:
這里有幾個點:
1. datachannel其實是可以直接傳送blob的,但是只有ff支持,所以傳data url
2. chrome下載是直接觸發的,不會進行詢問,firefox會先詢問後下載,在詢問過程中如果執行了revokeObjectURL,下載就會取消,囧
升級
如我們所知,WebRTC最有特點的地方其實是可以傳輸getUserMedia獲得的視頻、音頻流,來實現視頻聊天。但事實上我們的使用習慣來看,一般人不會一開始就打開視頻聊天,而且視頻聊天時很消耗內存的(32位機上一個連接至少20M左右好像,也有可能有出入)。所以常見的需求是,先建立一個包含datachannel的連接用於傳輸數據,然後在需要時升級成可以傳輸視頻、音頻。
看看我們之前傳輸的session description,它其實來自Session Description Protocol。可以看到wiki上的介紹:
這意味著什麼呢?我們之前建立datachannel是沒有加視頻、音頻流的,而這個流的描述是寫在SDP裡面的。現在我們需要傳輸視頻、音頻,就需要添加這些描述。所以就得重新獲得SDP,然後構建offer和answer再傳輸一次。傳輸的流程和之前一樣,沒什麼區別。但這一次,我們不需要傳輸任何的ice candidate,這里我曾經遇到了坑,經過國外大大的點撥才明白過來。
Peertc
我將datachannel和websocket組合,實現了一個構建點對點連接的庫Peertc,它提供非常簡潔的方式來建立連接和發送數據、文件和視頻/音頻流,詳情見github。走過路過的記得star一下哦,有什麼bug也非常希望能夠提出來。
最後
WebRTC的點對點方式能夠運用在很多場景:
- 如web qq這種Web IM工具,這就不說了
- 如象棋這種雙人對戰 游戲 ,每一步的數據伺服器時不關心的,所以完全可以點對點發送
- 一對一在線面試、在線教育,這其實是即時通信的一個業務方向
『肆』 百度HI,webqq,等網頁聊天室的實現技術!
可能用的是AJAX技術
如果按你說的話 不刷新應該是用的P2P技術
P2P網路通常用於通過Ad Hoc連接來連接節點。這個可以用於多種用途,各種檔案分享軟體已經得到了廣泛的使用。P2P技術也被使用在類似VoIP等實時媒體業務的數據通信中。
下面有一段文字供你參考
首先webqq沒是使用flash作為長連接代理。
其使用了yahoo的ajax工具包。
使用中,20秒進行一次http://web-proxy.qq.com/conn_s POST請求,內容為:
HTTP/1.1 200 Ok
Content-Type: text/html; charset=UTF-8
Cache-Control: private
Server: QQ/J.vn
Content-Length: 0
20秒一次,並且內容為空,的POST,這個應該是判斷用戶離線使用的。而並非取得任何新數據。
比較奇怪的,任何一個用戶發信息給正在使用WEBQQ的用戶,立刻WEBQQ用戶會自己,主動的發起一次對 http://web-proxy.qq.com/conn_s POST請求
來獲得新的聊天內容數據,內容如下:
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: private
Server: TENCENT_HTTP_Server
Content-Length: 68
1034456174;17;3088;313033262;275062;09;0b;test123;1241812821;575540857;
聊天內容是test123,可以看到並未進行加密之類,不過這不再本文討論范圍,
我想知道的是,WEB QQ是如何即時的獲得有信息到來的這個「通知」讓客戶端主動的去發起請求去伺服器獲取數據?
我過了一遍代碼,絕不是簡單的輪詢之類,因為沒有任何延遲,如果是輪詢總會有延遲。而且看鏈接狀態也沒有顯式的長連接。
他頁面上有4個iframe
<iframe id="conn_frame1" name="conn_frame1" src="http://web-proxy.qq.com" style="display:none;"> </iframe>
<iframe id="conn_frame2" name="conn_frame2" src="http://web-proxy2.qq.com" style="display:none;"> </iframe>
<iframe id="chatlog" name="chatlog" src="" style="display:none;"> </iframe>
<iframe id="filelog" name="filelog" src="" style="display:none;"> </iframe>
應該是以某個iframe以某種方法與伺服器保持連接,這是如何實現的?
如何「通知」讓客戶端主動的去發起請求去伺服器獲取數據?
請到web.qq.com看一下實現後進行討論~
來自http://www.iqidi.com/Articles/2009-12-25%23374.htm可以去看看
還有一種說法是comet技術
見下網址http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
『伍』 如何開發網易雲信web端網頁聊天室功能
這個我也不會的啊
『陸』 php+ajax怎麼做web聊天室,就是類似QQ那樣的,求源碼
其實做這個不難完成,只要php學的可以,在懂一點ajax就能做出來了。如樓上說的,用ajax想伺服器端沒隔幾秒發送一次數據,1秒的時候效果最逼真(只是開銷有點大),然後後台讀取資料庫,再返回結果,就實現了。
具體可以參考:http://www.daixiaorui.com/read/12.html
有範例有效果,有源碼。可以去看看!祝你成功!!
『柒』 什麼是WEB1.0,什麼是WEB2.0,它們的區別點在哪
這是很長的一篇文章,我給你找的。我眼都看花了。希望你有耐心,它能回答你的問題
什麼是Web2.0
Web2.0是以Flickr、43Things.com等網站為代表,以Blog、TAG、SNS、RSS、wiki等社會軟體的應用為核心,依據六度分隔、xml、ajax等新理論和技術實現的互聯網新一代模式。」
Blog——博客/網志:Blog的全名應該是Web log,後來縮寫為Blog。Blog是一個易於使用的網站,您可以在其中迅速發布想法、與他人交流以及從事其他活動。所有這一切都是免費的。
RSS——站點摘要:RSS是站點用來和其他站點之間共享內容的一種簡易方式(也叫聚合內容)的技術。最初源自瀏覽器「新聞頻道」的技術,現在通常被用於新聞和其他按順序排列的網站,例如Blog。
WIKI——網路全書:Wiki--一種多人協作的寫作工具。Wiki站點可以有多人(甚至任何訪問者)維護,每個人都可以發表自己的意見,或者對共同的主題進行擴展或者探討。
Wiki指一種超文本系統。這種超文本系統支持面向社群的協作式寫作,同時也包括一組支持這種寫作的輔助工具。
網摘:「網摘」又名「網頁書簽」,起源於一家叫做Del.icio.us的美國網站自2003年開始提供的一項叫做「社會化書簽」(Social Bookmarks)的網路服務,網友們稱之為「美味書簽」(Delicious在英文中的意思就是「美味的;有趣的」)。
SNS——社會網路:Social Network Sofwaret,社會性網路軟體,依據六度理論,以認識朋友的朋友為基礎,擴展自己的人脈。
P2P——對等聯網:P2P是peer-to-peer的縮寫,peer在英語里有「(地位、能力等)同等者」、「同事」和「夥伴」等意義。這樣一來,P2P也就可以理解為「夥伴對夥伴」、「點對點」的意思,或稱為對等聯網。目前人們認為其在加強網路上人的交流、文件交換、分布計算等方面大有前途。
IM——即時通訊:即時通訊(Instant Messenger,簡稱IM)軟體可以說是目前我國上網用戶使用率最高的軟體。聊天一直是網民們上網的主要活動之一,網上聊天的主要工具已經從初期的聊天室、論壇變為以MSN、QQ為代表的即時通訊軟體。
RSS為Really Simple Syndication(簡易供稿)的縮寫,是某一站點用來和其它站點之間共享內容的一種簡易方式,也叫聚合內容。網路用戶可以在客戶端藉助於支持RSS的新聞聚合工具軟體(例如SharpReader NewzCrawler、FeedDemon RSSReader),在不打開網站內容頁面的情況下閱讀支持RSS輸出的網站內容。可見,網站提供RSS輸出,有利於讓用戶發現網站內容的更新。在高速高質高效成為主流呼聲的互聯網時代,RSS無疑推動了網上信息的傳播,提出了另一種看世界的方式。
RSS,原意是把網站內容如標題、鏈接、部分內文甚至全文轉換為可延伸標示語言(XML:eXtensible Markup Language)的格式,以向其它網站供稿,使用者可以用一般的瀏覽器觀看,也可以用特殊的「閱讀器」軟體來閱讀。
-----------------------------------------------------------------------------------------------
歷史很重要。對一個技術的學習也應當從歷史出發,通過其在時間形成歷史的流變,得以知曉現狀,甚至能夠預知未來。
那Web1.0是什麼呢?
他們說,記得靜態HTML的WWW時代么?
(那個時代的WWW應用、人們的Web體驗、對社會的影響如何?)
那麼動態HTML和靜態HTML下的Web相比,是多少版本?1.5?對了,他們是真這么叫的。
(在效果和影響上,與1.0相比,擴展和加深多少?)
要呈現的數據存儲在資料庫中,通過Web服務端的程序,應用戶的請求,取出數據,加上事先設計的模板,動態的生成Html代碼,發送到用戶的瀏覽器那裡。
他是1.0系列,應為用戶在瀏覽器中所見和Web1.0一樣,它有0.5的升級,因為數據不是事先製作並發布,而是動態生成,和用戶的需要交互生成。
那好,再加0.5,到Web2.0,變化是在哪裡呢?
(看到了正在崛起的和改變的,會繼續朝著什麼方向改變互聯網和社會呢?)
更新:關於各個版本的差別,看看亞馬遜的例子。
事情沒有那麼幸運,Web2.0並不是一個具體的事物,而是一個階段,是促成這個階段的各種技術和相關的產品服務的一個稱呼。所以,我們無法說,Web2.0是什麼,但是可以說,那些是Web2.0。
WikiPedia的Web2.0條目下列出了這些條件:
*CSS和語義相關的XHTML標記
*AJAX技術
*SyndicationofdatainRSS/ATOM
*AggregationofRSS/ATOMdata
*簡潔而有意義的URLs
*支持發布為weblog
*RESTian(preferred)或者XMLWebserviceAPIs
*一些社會性網路元素
必須具備的要素有:
*網站應該能夠讓用戶把數據在網站系統內外倒騰。
*用戶在網站系統內擁有自己的數據
*完全基於Web,所有的功能都能透過瀏覽器完成。
(以上內容引用自英文版維基網路)
雖然這只是一家之言,不過,對於其中談到的幾個要素,大家還是公認的。
-基於RSS/ATOM/RDF/FOAF等XML數據的同步、聚合和遷移。
數據不再和頁面和網站混粘在一起,它獨立了,它跟著用戶走。這是Web2.0的很重要特徵。這也是為什麼Blog是Web2.0的代表的原因。在網志上,常主角的是相互獨立的一則則的網志。
獨立,然後有物理表現。現在,就能讓他們活躍起來。透過對XML數據的處理,這些內容能被自由的組合,被各種應用程序,不論是Web程序還是桌面程序等呈現和處理。
當然,最重要的是背後的人。
-社會性因素。
內容跟著人走,內容又能夠被用戶自由的組合,也就是說,用戶能夠自由的藉助內容媒介,創建起一個個的社群,發生各種社會性的(網路)行為。
此外還有標簽以及建立在開放標簽系統之上的Folksonomy。
-第三個公認的因素是開放API,
這個技術性稍強些,得另花時間研習,可以先看看例子:amazon、flickr、googlemap等。
從Web應用的產品/服務生產者角度來說,該如何創建Web2.0的產品呢?
重要的是要抓住這么幾點,一個是微內容(這里有定義),一個是用戶個體。除了這兩個最基本的之外,還可以考慮社群內的分享以及提供API。
(cnbruce收藏的一些API內容:http://www.cnbruce.com/blog/showlog.asp?cat_id=34&log_id=709 )
微內容:英文是microcontent。用戶所生產的任何數據都算是微內容,比如一則網志,評論,圖片,收藏的書簽,喜好的音樂列表、想要做的事情,想要去的地方、新的朋友等等。這些微內容,充斥著我們的生活、工作和學習,它的數量、重要性,還有我們對它的依賴,並不亞於那些道貌岸然、西裝革履的正統文章、論文、書籍。
對微內容的重新發現和利用,是互聯網所開創的平等、民主、自由風氣的自然衍生,也是互聯網相關技術消減信息管理成本之後的一個成果。
我們每天都生產眾多的微內容,也消費著同樣多的微內容。對於Web2.0來說,如何幫助用戶管理、維護、存儲、分享、轉移微內容,就成了關鍵。
用戶個體。對於Web1.0的典型產品/服務來說,用戶沒有具體的面貌、個性,它只是一個模糊的群體的代名詞而已。但是對於Web2.0的產品和服務來說,用戶是個實實在在的人。Web2.0所服務的,是具體的人,而不是一個如同幽靈般的概念。並且,這個人的具體性,會因為服務本身而不斷地充實起來。
如何為這個具體的個體服務,是Web2.0設計的起點。
因此,一類可以被稱作Web2.0的產品/服務將是這樣:
服務於用戶個體的微內容的收集、創建、發布、管理、分享、合作、維護等的平台。
其他的呢?恐怕就設計到好些人提到的,微內容的XML表現;微內容的聚合;微內容的遷移;社會性關系的維護;界面的易用性等等。
以及是否就是開源、參與、個人價值、草根、合作等等?
Web2.0是許多方面起頭並進又相互牽連的一個新的階段的到來。因此,不同的人,有著不同的看法。那麼,對於Web開發人員來說,Web2.0意味著什麼呢?
他們說Web2.0階段,Web是一個平台,或者說,Web正在變得可編程,可以執行的Web應用。野心家們設想這個它的終極目標是WebOS。
Web1.0時候,Web只是一個針對人的閱讀的發布平台,Web由一個個的超文本鏈接而成。現在的趨勢發生了變化,Web不僅僅是Html文檔的天下,它成了交互的場所。
Web2.0Conference網站的橫幅引用JeffBezos的話說「Web1.0ismakingtheinternetforpeople,web2.」。
具體來講,他們說Web成為一個開發環境,藉助Web服務提供的編程介面,網站成了軟體構件。
這些,就是WebService的目標吧,信息孤島通過這些WebService的對話,能夠被自由構建成適合不同應用的建築來。
一些例子:del.icio.us、flickr、a9、amazon、yahoo、google、msn等提供的編程介面衍生出的各種應用。
為什麼要開放APIs,這涉及到集市中的商業方面的技術策略。當然,還有更深層的原因,那是什麼呢?
這種交互不僅體現在不同的網站服務之間,同時還體現在用戶和Web之間在瀏覽器上的交互。這也是為什麼在美味書簽的收藏中Web2.0和AJAX如此相關的一個原因。
在Web頁面上使用桌面程序有的那些便利,真的是很享受的事情。這恐怕也是Web可編程的一個方面,Web頁面不再是標記和內容混合那樣的簡單,它就是一個可以編程的地方(是這樣理解吧?)
有人反對說,AJAX的使用對搜索引擎不友好,只有Web1.0的站長才關心這個事情吧,在Web2.0時候,站長應該關心的是用戶參與的便利、用戶的自由度,至於搜索,有RSS/ATOM/RDF等,更本用不著操心,Google不是已經順應這個趨勢,讓大家主動提交了么?
可編程的第三個方面,是否在於Web應用和桌面應用之間的無縫連接趨勢的出現?類似這里說的「從工具上,是由互聯網瀏覽器向各類瀏覽器、rss閱讀器等內容發展」
編程的一個重要目的是對數據的操作,因此,對於網站來說,除了WebService介面之外,最近為簡便方式就是將內容以RSS/RDF/ATOM格式,或者有意義的XHTML格式輸出,同時實現內容和表現的分離。
[Web2.0是個歷史學的概念,而非是個技術性的概念,它是對Web發展歷史斷代的成果。對這個概念的梳理,能幫助我更好的把握互聯網正在發生的技術與文化。]
---------------------------------------------------------------
中文網志圈談論的Web2.0內容摘要:
-「Web2.0是用來研究現象、發現規律的東西,不是用來招商引資、搭台唱戲的東西。當越來越多的互聯網應用採取與用戶互動的方式,越來越多的內容是由用戶產生,越來越多的用戶參與到互聯網創造的過程中的時候,其實它代表了一種新的思潮。在這種思潮之下,一些新的技術開始出現,一些古老技術重新煥發了生機。隨便你怎麼表述這樣一種現象,但現象本身是實實在在存在的,不管是叫它Web2.0,還是社會化互聯網。」[Keso:老冒給Web2.0澆了一桶冷水]
-「我覺得最有價值的一個是,web應用的數據格式開始逐漸出現了交換「標准」...這些標准...更加容易被機器自動化處理...能幫助人更好地過濾和定製化信息。其次,更多的服務將以webservice的形式來提供,...這使得web服務可以被互相集成,從而誕生更多新的服務...人的重要性被提高了。過去web更多注重在信息提供,而現在的越來越多的應用更加關注人,也就是所謂「社會性」。此外web的可用性改進正在被越來越重視...」[老冒:朝web2.0潑點冷水]
-「我認為Webx.x是人們為了區別不同時代Web的發展而使用的,而這些概念也是經過歸納出來的結果。抓住對方向,如Wikipedia中所提到的朝向互動及社會網路的方向發展,不論應用何種技術,只要能達到目的都是很好的。甚至作為一般的使用者,都可以不去理會Webx.x的討論,因為我們都已經在使用這些技術或網站了。」[圖書館觀點:Web2.0]
-「RSS逐漸成為在線內容提供服務的標准發行平台。Blog以及user-generated內容的興起。MyYahoo提供的RSS整合型服務。同時提出了值得密切關注的一些發展中領域,其中包括搜索技術,個性化,User-Generated內容(包括blog,評論,圖像和聲音),音樂,短視頻和Accessibility(易訪問性)」[Owen:MaryMeeker新作-關於DigitalWorld的發展報告的摘取]
-「我們談論的Web2.0帶給我們的是一種可讀寫的網路,這種可讀寫的網路表現於用戶是一種雙通道的交流模式,也就是說網頁與用戶之間的互動關系由傳統的「Push」模式演變成雙向交流的「Two-WayCommunication」的模式。而對於Web服務的開發者來說,Web2.0帶來的理念是服務的親和力,可操作性,用戶體驗以及可用性。」[Owen:BaCKpACK-體驗可讀寫的Web服務]
-「web2.0是一種可以被分發的信息概述,web文檔被格式化成了web數據。我們不會再看到不同舊地信息,現在我們所注意到是一種聚合、再混合內容的工具。」[songzhen:也說Web2.0的翻譯]
-「從這些應用中可以看到:如果基於傳統的HTML,同樣的功能實現將變得非常復雜和不穩定,數據的再生產和交換成本是很高的。所以:RSS這個標准最終要的貢獻就是使得互聯網的大部分網站變得可編程:類似的例子還有Blog中的:TrackBackPing等機制,這些機制都是依賴XML/RPC實現的。當初為Lucene設計一個RSS/XML的介面也是為了這個初衷,它使得全文檢索服務可以輕松的嵌入到各種應用中,通過關鍵詞將各種內容之間實現更豐富的關聯(WellReferenced)。」[車東:RSS,簡單協議使得互聯網可編程]
-「聚合的可能性以及如何更好地聚合(通常來說,更好的聚合應該基於個人知識管理和人際關系管理)很顯然應該成為新一代或者說web2.0架構的核心之一。還有,你會重新發現,恰好是分散帶動了聚合,聚合促進了分散,通過聚合的思維,互聯網的網路狀變得越來越豐富和密集,web2.0就變得越來越有趣味,它將web1.0時代的碩大節點即門戶網站不斷消解,去努力創造一個更加和諧的自然網路圖譜。」[Horse:rss,聚合的無數可能]
-「新的web2.0網站都依賴於用戶參與、用戶主導、用戶建設」。[Horse:Web2.0這個詞]
-Keso:Web1.0與Web2.0的區別
-「表面上看,Bloglines取代了門戶,成為一個新的中心,但這里有一個重大的區別。門戶是只讀的,它帶有某種鎖定的性質。你可以離開門戶,但你無法帶走門戶的內容。Bloglines則完全不同,你覺得它好用,就會繼續使用,有一天你不再喜歡Bloglines,你完全可以導出你的OPML,到另一個RSS訂閱網站,或者乾脆用客戶端軟體瀏覽同樣的內容。所以,像Bloglines這樣的網站,是可寫的,你可以導入,也可以導出。就像你對信息擁有選擇權,對服務提供商也同樣擁有選擇權,沒有人可以鎖定你,主動權在你自己手上。」[Keso:再說信息選擇權]
-「Flickr、del.icio.us、Bloglines等Web2.0服務,通過開放API獲得了很多有趣、有用的想法,並藉助外部的力量,讓用戶獲得了更好的體驗。更多大公司也加入到開放API的潮流中,Google、Yahoo!、Amazon、Skype。Google桌面搜索今年3月才開放API,很快就產生了大量的創造,大大擴充了可搜索的文件格式。」[Keso:開放API]
-「歸納:web1.0天天談門戶,web2.0談個人化;web1.0談內容,web2.0談應用;web1.0商業模式,web2.0談服務;web1.0談密閉、大而全,web2.0大家談開放、談聯合;web1.0網站中心化,web2.0談個人中心化;web1.0一對一,web2.0談社會性網路;web1.0不知道你是狗,web2.0你去年夏天幹了什麼我一清二楚甚至想要干什麼呢。。。」[van_wuchanghua:發現了N.HOOLYWOOD,我還知道你今年夏天要干什麼]
-「我認為Web2.0有下面幾個方面的特性:個性化的傳播方式.讀與寫並存的表達方式.社會化的聯合方式.標准化的創作方式.便捷化的體驗方式.高密度的媒體方式.」[飛戈:Web2.0與未來的網路]
-「用RAILS寫的網站帶有典型的讀寫網路的特徵:RAILS創建的三個架構中的ACTIVERECORD這個模塊中,如果你讀讀它最重要的基類ActiveRecord::Base,你會發現有CREAT,EDIT,SAVE,DESTROY這些方法已經天然包含在內了,這讓實現一個資料庫的CRUDS行為變得如此簡單。由於這些類的方法直接和網頁的名稱映射到一起,這使得網頁本身就像一個可以編緝的資料庫的數據項。」[Blogdriver:RUBYONRAILS,wEB2.0世界新生的創造力]
-「Greasemonkey一定名列前茅。這個通過UserScript就能修改任何網頁輸出效果的插件極大的提高了用戶閱讀的自主性,一推出就引起了轟動,同時也引來了不少爭議。」[Webleon:platypus,完全可寫的互聯網]
-「Web1.0到Web2.0的轉變,具體的說,從模式上是單純的「讀」向「寫」、「共同建設」發展;從基本構成單元上,是由「網頁」向「發表/記錄的信息」發展;從工具上,是由互聯網瀏覽器向各類瀏覽器、rss閱讀器等內容發展;運行機制上,由「ClientServer」向「WebServices」轉變;作者由程序員等專業人士向全部普通用戶發展;應用上由初級的「滑稽」的應用向全面大量應用發展。」[Don:Web2.0概念闡釋]
Web2.0階段的一個重要特徵是開放,和Web初期的開放有很大不同,有以下幾種突出的表現:
內容方面。
-內容的創作共用授權。它的廣譜和可選擇性,讓它具有了足夠的生命力。CC先是在網志圈中廣泛採用,後來許多商業公司也紛紛採用CC方式(比如BBC);先是文本世界採用,後來逐漸推廣到了多媒體世界,比如音頻、視頻、Flash動畫等等。一場自由的文化(freeculture)運動在各個方面悄然鋪開。
-內容來源方面的開放。和早期的Web階段相比,由於使用相關設備的成本降低,利用相關技術的門檻減低,人們可以自由生產並發布各種內容,比如文本信息,比如語音記錄,比如視頻錄制等。信息的生產和傳播不再僅僅是商業資本或者技術精英的特權。在Web的新階段,原來在商業、技術與大眾之間的信息生產和傳播的落差被削平。消除信息壟斷和去中心化已經成為可能。不僅如此,信息的生產和消費的模式也發生了變化,從原來的生產/消費的對立,變成了參與式的信息集市。
Web主體方面。
-商業網站也漸漸採取了開放的、參與的模式。除了內容上的CC授權出現之外。原來並不外露的內容,也隨著blog、podcasting等的興盛而對外開放。一些網站還在技術層面開放,比如開放源代碼,比如開放APIs(編程介面),讓自己成為一個平台,讓用戶可以參與衍生產品的創造,用戶本身也是產品的生產者。不僅是內容、技術層面,在鼓勵用戶的參與上,也有相應的開放出現,比如一些新聞網站的RSS源的輸出、引用通告(trackback)功能的採納、blogthis便利的提供,無一不是讓用戶參與到內容生產、傳播的各個環節。
-個人信息層面的開放。有開放,才有交流,才有社會行為和形態產生。個人內容的開放是與一類Web2.0服務的興起有關。它涵蓋了內容(文本、聲音、影像、視頻)、關系、行為等等。