XMPP

✍ dations ◷ 2025-02-23 14:01:05 #XMPP
可扩展消息与存在协议(英语:Extensible Messaging and Presence Protocol,缩写:XMPP;前称Jabber)是一种以XML为基础的开放式即时通信协议,是经由互联网工程工作小组(IETF)通过的互联网标准。XMPP因为被Google Talk应用而被广大网民所接触。Jeremie Miller于1998年开始了这个项目。第一个公开版本于2000年5月发行。这个项目的主要产品是jabberd,XMPP的服务器端软件。它既可以创建私人的XMPP网络,也可以加入全球的公共XMPP网络。XMPP的关键特色是,分布式的即时通信系统,以及使用XML流。Jabber已经由IETF XMPP协议(RFC3920)标准化。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,不再支持服务器到服务器的通讯。2007年,2001年成立的Jabber软件基金会更名为XMPP标准基金会。XMPP网络是基于服务器的(即客户端之间彼此不直接交谈),但是也是分布式的。不像AOL即时通或MSN Messenger等服务,XMPP没有中央官方服务器。Jabber.org的公众服务器上有大量的用户,所以有些人误解了,以为它是官方服务器,不过事实上任何人都可以在自己的网域上运行XMPP服务器。Jabber识别符(JID)是用户登录时所使用的账号,看起来通常像一个电子邮件地址,如someone@example.com;前半部分为用户名,后半部分为XMPP服务器域名,两个字段以@符号区隔。假设朱丽叶(juliet@capulet.com)想和罗密欧(romeo@montague.net)通话,他们两人的账号分别在Capulet.com及Montague.net的服务器上。当朱丽叶输入消息并按下发送钮之后,一连串的事件就发生了:罗密欧与朱丽叶两人的XMPP服务是由两家不同的业者所提供的,而他们彼此传讯时,不须拥有对方服务器的账号,也不须成为对方业者的会员。XMPP协议的另一功能是运输(transports),也被称为网关(gateways),可允许用户透过网络使用其它协议。这可以是其他的即时通信协议,也可以是不同协议,如短信(SMS)或电子邮件。在原来的规格,XMPP协议可以使用HTTP的方式有两种:轮询(polling)与绑定(binding)。轮询现在不推荐,基本上,轮询意味着HTTP邮件存储在服务端的数据库上,客户端必须一再地以HTTP的GET和POST的方式去抓取(以及刊出)其中的消息。然而使用绑定的方式时,客户端会保留一个长存的HTTP连线,等待一旦服务器有新的消息时,就立刻接收消息。因为轮询的结果往往是服务端没有新消息,这种推送的通知模式比轮询的方式更有效率。由于客户端使用HTTP,大多数防火墙允许客户端获取和留言没有任何障碍。因此,即使使用XMPP协议的TCP端口被拦截,服务器也能正常地倾听一般的HTTP端口,其上的消息也能保持畅通。还有一些网站更允许大众经由浏览器登录进XMPP。尤有甚者,还有一些公共的服务器同时拥有标准HTTP(80端口)和HTTPS(443端口),因此又有助于通过防火墙。XMPP协议是由大量的XMPP协议的客户端,服务器和程序库。主要的文章包含了几个XMPP协议清单客户的多种平台。

相关

  • 前哥伦布时期前哥伦布时期(英语:Pre-Columbian)包括,在明显受到来自欧洲的文明影响前,美洲的全部历史和史前史。时间跨度上,从旧石器时代人类最初迁入并居住于美洲,直到近代欧洲人殖民美洲。就
  • 责任医疗事故(英语:medical malpractice;也称为医疗失当或医疗疏失),是一法律诉讼原因,泛指医疗院所与医疗从业人员,在对病患提供医疗服务时,出现不当或怠忽的专业医疗行为过失(失当行为),
  • 伞护种伞护种(英语:umbrella species)是保护生物学中的一个概念,指那些生存环境需求能够涵盖许多其他物种生存环境需求的物种。布鲁斯·威尔科克斯(Bruce A. Wilcox)最早于1984年提出这
  • 基因敲除小鼠基因剔除小鼠是一种遗传工程技术下利用基因剔除技术所做出的一或多个基因变异的小鼠。广义来说,当小鼠体内的特定基因被剔除称之。此技术为用来观察并研究活体内基因表现的工
  • 查谟和克什米尔查谟和克什米尔(Jammu and Kashmir)是一个位于印度北部的中央直辖区,分为查谟和克什米尔山谷两个专区,为印度控制的克什米尔的一部分。该地南面与旁遮普和喜马偕尔邦接壤,东北部
  • 乌贼十腕总目(学名:Decapodiformes),俗称“乌贼”,古称乌鲗,是一种头足纲蛸亚纲新蛸下纲之下的一类软体动物,所有乌贼都可以喷墨。乌贼类可以大致概括本类多数动物。与蛸亚纲的其他分类
  • 抗原提呈细胞抗原呈递细胞(antigen-presenting cell、APC)也称为抗原提呈细胞、辅佐细胞或抗原呈现细胞,是指在免疫应答过程中,能将抗原物质提呈给T细胞的一类辅佐细胞。APC是一群异质性细胞
  • 致病病原体(希腊语:πάθος pathos “痛苦”、“热情” 与 -γενής -genēs “生产者”),在生物学中,从最古老和最广泛的意义上说,就是任何可以产生疾病的事物。病原体也可以称
  • 茴香醛茴香醛,是一种芳香醛,无色透明油状液体,易溶于乙醇;乙醚;丙酮;氯仿等,溶于苯,不溶于水。能随水蒸汽挥发。
  • 算术算术(英语:arithmetic)是数学最古老且最简单的一个分支,几乎被每个人使用着,从日常生活上简单的算数到高深的科学及工商业计算都会用到。一般而言,算术这一词指的是记录数字某些运