Расширяемый протокол обмена сообщениями и присутствия основанный на XMPP

Основанный на XMPP ( XMPP , ранее Jabber ) язык протокола XML позволяет передавать сообщения и статус в реальном времени. Протокол применим не только для обмена мгновенными сообщениями, но и для других систем мгновенного обмена информацией.

Хотя имя учетной записи на серверах XMPP структурировано аналогично адресу электронной почты, оно не относится к той же службе и поэтому не может использоваться программным обеспечением электронной почты. Однако есть компании, которые предлагают как адрес электронной почты, так и Jabber ID под одной учетной записью (например, Google с Gmail или Microsoft и его служба Hotmail ). Социальные сети Facebook и Nk.pl , благодаря реализации языка XMPP на своих серверах, в прошлом позволяли использовать чат, встроенный в их веб-сайт, с уровня любого коммуникатора, основанного на этом протоколе. Протокол XMPP в основном используется для мгновенной связи между пользователями, но нет никаких препятствий для его использования, как для электронной почты, то есть для того, чтобы время от времени загружать сообщения.

IETF опубликовал RFC по XMPP.

Применение

Его основное приложение — обмен сообщениями в системе мгновенных сообщений . Серверы XMPP также поддерживают так называемые транспорты, общение с пользователями других протоколов, таких как Gadu-Gadu , Tlen.pl или ICQ .

Протокол не обязательно должен использоваться только для общения между пользователями, примером чего является система ведения блогов от XMPP — Jogger .

Особенности XMPP

Схема работы сети XMPP

XMPP имеет несколько функций, которые отличают его от конкурирующих сетей.

открытость

Протокол XMPP общедоступен и может свободно изменяться. Клиенты , серверы и библиотеки часто размещаются как бесплатное программное обеспечение с открытым исходным кодом .

децентрализация

Доступно множество серверов XMPP. Кроме того, вы можете запустить сервер для собственного использования. Все доступные серверы образуют одну общую сеть.

безопасность

Каждый сервер XMPP может быть отделен от основной общедоступной сети. Многие серверы используют SSL для связи с пользователями. Некоторые клиенты поддерживают PGP или GPG для шифрования передачи и безопасности на основе SASL .

транспортирует

Серверы могут предоставлять пользователям дополнительные услуги , такие как связь с другими протоколами и поддержка электронной почты. В отличие от плагинов для обмена мгновенными сообщениями, их можно использовать с любым клиентом.

XMPP и Jabber

Jabber был запущен в 1998 году Джереми Миллером. С тех пор было много серверов и клиентов XMPP, использующих этот протокол. Сам протокол никогда не был полностью описан, а его документация является описанием существующего состояния и не может рассматриваться как стандарт, который следует реализовать.

XMPP (ранее Jabber) стандартизирован IETF . Несмотря на обратную совместимость, очень старые серверы не полностью совместимы с XMPP.

Вы можете увидеть реализации XMPP на серверах, таких как jabberd2, и на клиентах, таких как Tkabber .

XMPP определяет, как клиент подключается к серверу, как серверы подключаются друг к другу, отчеты об ошибках, базовый обмен информацией между серверами и клиентами, а также способ управления списком контактов и правилами конфиденциальности. Остальные функции, описанные с помощью XEP, больше не являются частью XMPP — XMPP не определяет и не будет определять, как передавать файлы или получать доступ к списку транспорта на сервере. Все это просто расширения, которые являются частью Jabber, а не XMPP.

Эволюция

XMPP использует протокол SASL для аутентификации пользователей . Кроме того, аутентификация между серверами может быть выполнена с использованием этого протокола.

Добавлены правила конфиденциальности. Они позволяют пользователю определять, от кого он хочет получать сообщения, кому показывать свой статус.

XMPP предоставляет более подробную информацию о произошедших ошибках, так что клиент пользователя может создать содержательное сообщение или предпринять автоматические действия для обработки исключения.

Расширение StartTLS является встроенным , что позволяет зашифровать соединение на стандартном порту.

Show Buttons
Hide Buttons