Jabber/XMPPプロトコルとは

2000年前後から、Yahoo! Messenger, Microsoft LiveやAOL AIMといったメッセンジャーアプリが登場し、多くのユーザーに使われてきましたが、それらはそれぞれ独自の仕様に従って作られていました。

そのようなインスタントメッセンジャーに要求される仕様を標準化するために登場したのがJabberです。Jabberは名前をXMPP(Extensible Messaging And Presence Protocol:拡張可能なメッセージとプレゼンスのプロトコル)と変えて2004年にRFCになりました。なのでJabber/XMPPのように併記されることも多いですし、クライアントアプリケーションによっては、設定項目などで、現在でもJabberの名前が使われている場合もあります。

XMPPに名前が変更となりRFCに登録される際に、単純にインスタントメッセンジャーのための一つの仕様とされていたものから、2つの仕様に分離しました。

その2つとは、永続コネクション上でのメッセージとプレゼンスを扱うためのコア機能の仕様(RFC3920)と、そのコア機能の上でインスタントメッセージングを実現するための仕様(RFC3921)になります。

2011年3月に仕様がアップデートされて、RFC6120, RFC6121になっていますので、これから仕様について調査をしたい方は、そちらの方を参照するとよいでしょう。

XMPPに関連するRFCリンク集

XMPPを使ったアプリケーション

Jabber/XMPPの出現以降は、Google TalkやFacebookチャットをはじめとして、メッセンジャー系のアプリケーションで積極的に採用されるようになってきています。

Microsoft Liveも上記の通り独自プロトコルでしたが、2011年12月にXMPPに変更されました。

XMPPの拡張仕様

様々な拡張機能の仕様が定義されていて、それらはXEP(XMPP Extension Protocol)と呼ばれています(Jabber時代はJEPと呼ばれていました)。

その中には、例えばグループチャットのための仕様やオーディオ、ビデオチャットのための仕様などもあります。

XEPリスト


次は、XMPPプロトコルでどのようなサービスを提供できるのかを見てみましょう。

XMPP IMサービスの概要 »