Tworzenie książki (wyłącz)
 Dodaj tę stronę do książki Pokaż książkę (0 stron) Proponowane strony

Extensible Messaging and Presence Protocol

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, szukaj

Extensible Messaging and Presence Protocol (XMPP, dawniej Jabber[1]) – protokół bazujący na języku XML umożliwiający przesyłanie w czasie rzeczywistym wiadomości oraz statusu. Protokół ma zastosowanie nie tylko w komunikatorach, ale również w innych systemach natychmiastowej wymiany informacji.

IETF opublikowało RFC[2] dotyczące XMPP.

Spis treści

[edytuj] Zastosowania

Głównym jego zastosowaniem jest wymiana wiadomości w komunikatorach internetowych. Serwery XMPP umożliwiają także za pomocą tzw. transportów komunikację z użytkownikami innych protokołów, jak Gadu-Gadu, Tlen.pl, ICQ czy MSN Messenger.

Protokół nie musi być wykorzystywany jedynie do komunikacji między użytkownikami, przykładem czego jest system blogowania przez XMPP – Jogger.

[edytuj] Cechy XMPP

Schemat działania sieci XMPP

XMPP posiada kilka cech wyróżniających go spośród konkurencyjnych sieci.

otwartość 
Protokół XMPP jest publicznie dostępny i podlega swobodnej modyfikacji. Klienty, serwery oraz biblioteki są często udostępniane jako Wolne i Otwarte Oprogramowanie.
decentralizacja 
Dostępnych jest wiele serwerów XMPP. Dodatkowo można uruchomić serwer na własny użytek. Wszystkie dostępne serwery tworzą jedną wspólną sieć.
bezpieczeństwo 
Każdy serwer XMPP może być oddzielony od głównej publicznej sieci. Wiele serwerów używa SSL do komunikacji z użytkownikami. Część klientów obsługuje PGP lub GPG do szyfrowania transmisji oraz zabezpieczenia oparte na SASL.
transporty 
Serwery mogą udostępniać użytkownikom dodatkowe usługi, jak komunikacja z innymi protokołami oraz obsługa poczty elektronicznej. W przeciwieństwie do wtyczek do komunikatorów można z nich korzystać za pomocą dowolnego klienta.

[edytuj] XMPP a Jabber

Jabber został zapoczątkowany w 1998 roku przez Jeremiego Millera. Od tamtego czasu powstało wiele serwerów oraz klientów XMPP, które korzystają z tego protokołu. Sam protokół z kolei nie został nigdy w pełni opisany, a jego dokumentacja jest opisem stanu istniejącego i nie może być brana pod uwagę jako standard, który powinien zostać zaimplementowany.

XMPP (o dawnej nazwie Jabber) został ustandaryzowany przez IETF. Pomimo jego wstecznej kompatybilności, bardzo stare serwery nie są w pełni zgodne z XMPP.

Implementacje XMPP można zobaczyć w takich serwerach jak jabberd2 oraz klientach, jak np. Tkabber.

Protokół pochodny od XMPP był wykorzystywany w polskim komunikatorze Tlen.pl (teraz jednak dąży on do coraz większej kompatybilności z XMPP).

Trzeba też zaznaczyć, że XMPP określa sposób podłączenia się klienta do serwera, połączenia serwerów między sobą, raportowania błędów, wymiany podstawowych informacji między serwerami i klientami oraz sposób zarządzania listą kontaktów i regułami prywatności. Pozostała funkcjonalność, opisana XEP-ami, nie jest już częścią XMPP – XMPP nie określa i nie będzie określał sposobu przesyłu plików czy dostępu do listy transportów na serwerze. To wszystko to tylko rozszerzenia będące częścią Jabber, a nie XMPP.

[edytuj] Ewolucja

[edytuj] Dokumenty RFC

[edytuj] Przykładowa sesja Jabber

Klient (kuusipuu) łączy się z serwerem Jabberowym (amessage.de port tcp numer 5222), wysyła wiadomość (temat: "test 1449" i treść: "test 1449") do innego klienta (tero) i wylogowuje się.

kuusipuu (otwarcie połączenia):
 <?xml version="1.0"?>
 <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
 xmlns="jabber:client" to="amessage.de">

amessage.de:
 <stream:stream xmlns='jabber:client'
 xmlns:stream='http://etherx.jabber.org/streams' from='amessage.de'
 id='1461777714'>

kuusipuu (autoryzacja użytkownika):
 <iq type="set" id="auth_2" to="amessage.de" >
   <query xmlns="jabber:iq:auth">
     <username>kuusipuu</username>
     <password>mypassword</password>
     <resource>Work</resource>
    </query>
 </iq>

amessage.de:
 <iq from="amessage.de" id='auth_2' type='result'/>

kuusipuu (wysyłanie wiadomości i zamknięcie połączenia):
 <message to="tero@example.com" >
   <subject>test 1449</subject>
   <body>test 1449</body>
 </message>
 <presence type="unavailable" >
   <status>Logged out</status>
 </presence>
 </stream:stream>

amessage.de:
 </stream:stream>

[edytuj] Zobacz też

Przypisy

[edytuj] Linki zewnętrzne

Wikibooks-logo.svg
Zobacz publikację na Wikibooks:
Jabber
Źródło „http://pl.wikipedia.org/w/index.php?title=Extensible_Messaging_and_Presence_Protocol&oldid=30410745
Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Dla czytelników
Dla wikipedystów
Narzędzia
Drukuj lub eksportuj
W innych językach

Polecamy: Pozycjonowanie, wózki dziecięce, Kino domowe, Viagra, Kredyty