Extensible Messaging and Presence Protocol (XMPP), voorheen Jabber geheten,[1] is een open en op XML gebaseerd netwerkprotocol voor instant messaging en presence notification. Het wordt op dit moment gebruikt op duizenden XMPP-servers op het internet en door miljoenen mensen wereldwijd. Het protocol wordt ook gebruikt door Google Talk en Google Wave.[2]

De XML-streamingtechnologie zag in 1998 het levenslicht onder de naam Jabber. De specificaties zijn publiekelijk beschikbaar, waardoor vele implementaties open-source zijn. De basis van Jabber werd in 2004 door het Internet Engineering Task Force (IETF) goedgekeurd als Extensible Messaging and Presence Protocol (XMPP).

Hoe werkt het

Veronderstel dat juliet@capulet.com wil chatten met romeo@montague.net. Juliet en Romeo hebben respectievelijk een account op de servers capulet.com en montague.net. Als Juliet een bericht wil verzenden naar Romeo gebeurt het volgende:

  1. Juliets XMPP-client zendt het bericht naar de XMPP-server capulet.com.
    • Als montague.net geblokkeerd wordt op capulet.com, dan wordt het bericht verwijderd.
  2. De XMPP-server capulet.com opent een verbinding met de XMPP-server montague.net.
  3. De server montague.net verzendt het bericht naar Romeo's XMPP-client.
    • Als capulet.com geblokkeerd wordt op montague.net, dan wordt het bericht verwijderd
    • Als Romeo niet verbonden is, dan wordt het bericht opgeslagen tot wanneer Romeo terug online komt. (In de veronderstelling dat de server offline berichten toestaat.)
  4. Romeo ontvangt het bericht.
Juliet capulet.com montague.net Romeo

Eigenschappen

Gestandaardiseerd
De specificaties van XMPP zijn publiek beschikbaar. Het IETF heeft ook formeel de basisprotocollen goedgekeurd als 'instant messaging en instant presence technologie' en gepubliceerd als RFC 3920[3] en RFC 3921.[4]
Bewezen
De specificaties van XMPP zijn sinds 1998 meer en meer gestabiliseerd. Honderden ontwikkelaars werken intussen met XMPP en tienduizenden servers met miljoenen gebruikers gebruiken het.
Uitbreidbaar
Het protocol gebruikt XML-namespaces. Op deze manier kan iedereen het protocol uitbreiden zonder bestaande toepassingen te storen. Om te voorkomen dat meerdere uitbreidingen ontstaan die dezelfde functionaliteit toevoegen.
Gedecentraliseerd
Een groot aantal servers wordt samengeweven tot 1 groot netwerk. Hierdoor is er geen centraal zwak punt in het netwerk en is er dus een grote stabiliteit. Iedereen is vrij om al dan niet zijn eigen server op te starten en daarmee deel uit te maken van het globale netwerk.
Veilig
Robuuste beveiliging met SASL en TLS worden ondersteund.
Toegang tot andere protocollen
Een transport of gateway zorgt ervoor dat gebruikers van XMPP toegang krijgen tot netwerken die een ander protocol spreken, zoals ICQ en MSN Messenger maar ook sms of E-mail of andere. In tegenstelling tot multi-protocol clients biedt XMPP toegang tot deze andere protocollen op serverniveau in plaats van op clientniveau. Hierdoor kan elke client die de basisspecificaties volledig ondersteunt via transporten verbinden met andere netwerken.

Specificaties

De XMPP-werkgroep van het IETF heeft een reeks Request for Comments (RFCs) gecreëerd die op 4 oktober 2004 zijn uitgebracht:

Ontstaan

Een beknopt overzicht van de belangrijkste gebeurtenissen:

Concurrerende technologieën

Zie ook

Zie de categorie Extensible Messaging and Presence Protocol van Wikimedia Commons voor mediabestanden over dit onderwerp.