添加的内容 删除的内容
(修改自此处;原许可:CC BY-SA 3.0[网站升级迁移]) |
小 (机器人:清理不当的来源、移除无用的模板参数) |
||
(未显示同一用户的4个中间版本) | |||
第5行: | 第5行: | ||
{{网络协议}} |
{{网络协议}} |
||
[[File:XMPP logo.svg|缩略图|200px|可擴展消息存在協議標誌]] |
[[File:XMPP logo.svg|缩略图|200px|可擴展消息存在協議標誌]] |
||
'''可扩展消息与存在协议'''({{lang-en|E'''x'''tensible '''M'''essaging and '''P'''resence '''P'''rotocol}},缩写:'''XMPP''';前稱'''Jabber'''<ref>{{Cite web |url=http://www.jabber.com/CE/AboutUs |title=Jabber Inc. - About Us |accessdate=2009-09-14 |
'''可扩展消息与存在协议'''({{lang-en|E'''x'''tensible '''M'''essaging and '''P'''resence '''P'''rotocol}},缩写:'''XMPP''';前稱'''Jabber'''<ref>{{Cite web |url=http://www.jabber.com/CE/AboutUs |title=Jabber Inc. - About Us |accessdate=2009-09-14 }}</ref>)是一种以[[XML]]為基礎的開放式[[即時通訊]]協定,是經由網際網路工程工作小組([[IETF]])通過的[[網際網路]]標準。XMPP因为被[[Google Talk]]应用而被广大网民所接触。 |
||
== 歷史 == |
== 歷史 == |
||
第11行: | 第11行: | ||
[[Jeremie Miller]]于1998年开始了这个项目。第一个公开版本于2000年5月发行。这个项目的主要产品是[[jabberd]],XMPP的服务器端软件。它既可以创建私人的XMPP网络,也可以加入全球的公共XMPP网络。XMPP的關鍵特色是,[[分散式]]的即時通訊系統,以及使用[[XML]]串流。 |
[[Jeremie Miller]]于1998年开始了这个项目。第一个公开版本于2000年5月发行。这个项目的主要产品是[[jabberd]],XMPP的服务器端软件。它既可以创建私人的XMPP网络,也可以加入全球的公共XMPP网络。XMPP的關鍵特色是,[[分散式]]的即時通訊系統,以及使用[[XML]]串流。 |
||
Jabber已经由[[IETF]] XMPP协议([ |
Jabber已经由[[IETF]] XMPP协议([http://www.ietf.org/rfc/rfc3920.txt RFC3920])标准化。 |
||
Jabber是一個開放源碼形式組織產生的網絡即時通信協議。XMPP原本是為即时通讯而量身定製,但由於XML Stanza本身是XML元素,在基於XML靈活發展的特性下,使得XMPP也可以適用其他方面,已經得到了IETF的批准。XMPP與[[IMPP]]、[[PRIM]]、[[会话发起协议|SIP]]([[SIMPLE]])合稱四大IM協議主流,在此4大协议中,XMPP是最灵活的。 |
Jabber是一個開放源碼形式組織產生的網絡即時通信協議。XMPP原本是為即时通讯而量身定製,但由於XML Stanza本身是XML元素,在基於XML靈活發展的特性下,使得XMPP也可以適用其他方面,已經得到了IETF的批准。XMPP與[[IMPP]]、[[PRIM]]、[[会话发起协议|SIP]]([[SIMPLE]])合稱四大IM協議主流,在此4大协议中,XMPP是最灵活的。 |
||
2005年,[[Google]]发布了[[Google Talk]],這是一個[[IP電話]]及即時通訊的服務,即时通讯功能採用了開放的XMPP。预计这将对XMPP社区起很大的推动作用。初期此服務不支援伺服器到伺服器的通讯功能,所以未能完全發揮XMPP的分散式特色;雖然任何XMPP[[客戶端]]都能連接到Google Talk,但是用戶若欲登入Google Talk,必須擁有Google Talk帳號(即[[Gmail]]帳號),而用戶也無法與公共XMPP網路的用戶對談。自2006年1月17日起,伺服器到伺服器的通訊啟用了,Google Talk用戶可與其他XMPP公共網路的用戶對談。2013年5月,Google Talk升级为Hangouts,不再支持服务器到服务器的通讯。<ref>{{Cite web |url=http://tech.slashdot.org/story/13/05/20/2315216/google-drops-xmpp-support |title=Google drops XMPP support |access-date=2013-06-23 |
2005年,[[Google]]发布了[[Google Talk]],這是一個[[IP電話]]及即時通訊的服務,即时通讯功能採用了開放的XMPP。预计这将对XMPP社区起很大的推动作用。初期此服務不支援伺服器到伺服器的通讯功能,所以未能完全發揮XMPP的分散式特色;雖然任何XMPP[[客戶端]]都能連接到Google Talk,但是用戶若欲登入Google Talk,必須擁有Google Talk帳號(即[[Gmail]]帳號),而用戶也無法與公共XMPP網路的用戶對談。自2006年1月17日起,伺服器到伺服器的通訊啟用了,Google Talk用戶可與其他XMPP公共網路的用戶對談。2013年5月,Google Talk升级为Hangouts,不再支持服务器到服务器的通讯。<ref>{{Cite web |url=http://tech.slashdot.org/story/13/05/20/2315216/google-drops-xmpp-support |title=Google drops XMPP support |access-date=2013-06-23 }}</ref> |
||
2007年,2001年成立的Jabber軟件基金會更名為XMPP標準基金會<ref>[http://xmpp.org/xsf/press/2007-01-16.shtml Jabber Software Foundation Renamed to XMPP Standards Foundation] |
2007年,2001年成立的Jabber軟件基金會更名為XMPP標準基金會<ref>[http://xmpp.org/xsf/press/2007-01-16.shtml Jabber Software Foundation Renamed to XMPP Standards Foundation] 1月16日2007年 - [http://www.jabber.org/ jabber.org] 仍旧被维护</ref>。 |
||
== 特色 == |
== 特色 == |
||
第89行: | 第89行: | ||
== XMPP協議通過HTTP運輸 == |
== XMPP協議通過HTTP運輸 == |
||
在原來的規格,XMPP協議可以使用HTTP的方式有兩種:輪詢(polling)<ref>{{Cite web |url=http://xmpp.org/extensions/xep-0025.html |title=XEP-0025: Jabber HTTP Polling |access-date=2009-09-08 |
在原來的規格,XMPP協議可以使用HTTP的方式有兩種:輪詢(polling)<ref>{{Cite web |url=http://xmpp.org/extensions/xep-0025.html |title=XEP-0025: Jabber HTTP Polling |access-date=2009-09-08 }}</ref>與綁定(binding)<ref name="autogenerated1">{{Cite web |url=http://xmpp.org/extensions/xep-0124.html |title=XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH) |access-date=2009-09-08 }}</ref>。輪詢現在不推薦,基本上,輪詢意味著HTTP郵件存儲在伺服器端的資料庫上,客戶端必須一再地以HTTP的GET和POST的方式去抓取(以及刊出)其中的訊息。然而使用綁定的方式時,客戶端會保留一個長存的HTTP連線,等待一旦伺服器有新的訊息時,就立刻接收訊息。因為輪詢的結果往往是伺服端沒有新訊息,這種推送的通知模式比輪詢的方式更有效率。 |
||
由於客戶端使用HTTP,大多數防火牆允許客戶端獲取和留言沒有任何障礙。因此,即使使用XMPP協議的TCP端口被攔截,伺服器也能正常地傾聽一般的HTTP端口,其上的訊息也能保持暢通。還有一些網站更允許大眾經由瀏覽器登入進XMPP。尤有甚者,還有一些公共的伺服器同時擁有標準HTTP(80埠)和HTTPS(443埠),因此又有助於通過防火牆。 |
由於客戶端使用HTTP,大多數防火牆允許客戶端獲取和留言沒有任何障礙。因此,即使使用XMPP協議的TCP端口被攔截,伺服器也能正常地傾聽一般的HTTP端口,其上的訊息也能保持暢通。還有一些網站更允許大眾經由瀏覽器登入進XMPP。尤有甚者,還有一些公共的伺服器同時擁有標準HTTP(80埠)和HTTPS(443埠),因此又有助於通過防火牆。 |
||
第111行: | 第111行: | ||
== 外部連結 == |
== 外部連結 == |
||
* [http://xmpp.org/ XMPP Standards Foundation] |
* [http://xmpp.org/ XMPP Standards Foundation] |
||
* [https://xmpp-servers.404.city Open list of public XMPP servers] |
* [https://xmpp-servers.404.city Open list of public XMPP servers] |
||
* [ |
* [https://ulloo.net/ For your XMPP servers] |
||
* [http://wiki.xmpp.org/web/XMPP_Case_Studies XMPP Case Studies] |
* [http://wiki.xmpp.org/web/XMPP_Case_Studies XMPP Case Studies] |
||
* [ |
* [http://xmpp.org/xsf/press/2004-10-04.shtml IETF Publishes XMPP RFCs] |
||
* [ |
* [http://www.jabber.org/ Jabber.org] |
||
* [ |
* [http://archive.jabber.org/userguide/ Jabber User Guide] - End user introduction to XMPP (archive) |
||
* [http://imfreedom.org/ IM Protocol Wiki] |
* [http://imfreedom.org/ IM Protocol Wiki] |
||
* [http://twit.tv/floss49/ Podcast: FLOSS 49: XMPP] |
* [http://twit.tv/floss49/ Podcast: FLOSS 49: XMPP] {{lang|en|Peter Saint-Andre}} interviewed by {{link-en|Randal Schwartz|Randal Schwartz}}和{{link-en|Leo Laporte|Leo Laporte}} |
||
* RFC 3920 - Extensible Messaging and Presence Protocol (XMPP): Core |
* RFC 3920 - Extensible Messaging and Presence Protocol (XMPP): Core |
||
* RFC 3921 - Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence |
* RFC 3921 - Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence |