XMPP

**Extensible Messaging and Presence Protocol** (**XMPP**), trước đây là **Jabber**, là giao thức mở và dựa trên nền tảng XML dùng trong nhắn tin nhanh (*instant messaging*) và thông tin hiện diện trực tuyến (*presence information*). Theo Hội Tiêu chuẩn XMPP (*XMPP Standards Foundation*, trước đây là *Jabber Software Foundation*, JSF), phần mềm dựa trên Jabber được triển khai tại hàng ngàn máy phục vụ trên Internet và được hơn 10 triệu người trên khắp thế giới sử dụng 22 tháng 9 năm 2003.php.

Jeremie Miller khởi đầu dự án vào năm 1998; phiên bản đầu tiên được công bố vào tháng năm 2000. Sản phẩm chính của dự án là jabberd, một trình phục vụ (*server*) để từ đó các trình khách (*client*) kết nối đến và trao đổi tin nhắn. Trình phục vụ này có thể tạo mạng Jabber riêng tư (như sau tường lửa) hoặc có thể tham gia vào mạng Jabber công cộng toàn cầu. Đặc tính cốt lõi của Jabber là bản chất của hệ thống tin nhắn nhanh phân tán và việc sử dụng streaming XML.

Điểm đặc trưng của hệ thống Jabber là nó có các *transport*, còn được gọi là *gateway* (cổng), cho phép người dùng truy cập mạng với các giao thức khác - như AIM và ICQ (dùng OSCAR), MSN Messenger và Windows Messenger (dùng Dịch vụ nhắn tin.NET - *.NET Messenger Service*), Yahoo! Messenger, SMS hay E-mail. Không như các trình khách đa giao thức như Trillian hay Gaim, việc truy cập đến các giao thức khác được Jabber cung cấp ở cấp độ trình phục vụ bằng cách truyền thông tin qua các dịch vụ cổng đặc biệt chạy trên một máy tính ở xa. Bất cứ người dùng nào cũng có thể 'đăng ký' với một trong các cổng này bằng cách cung cấp thông tin cần thiết để đăng nhập vào mạng đó, và từ đó có thể liên lạc với người dùng của mạng khác như thể họ là người dùng Jabber. Điều này có nghĩa là bất cứ trình khách nào hỗ trợ đầy đủ giao thức Jabber đều có thể được dùng để truy cập bất cứ mạng nào có cổng kết nối, mà không cần thêm dòng mã lệnh nào từ trình khách.

Nền tảng của giao thức Jabber, hiện được Tổ chức Phần mềm Jabber quản lý, đã được IETF chấp nhận làm giao thức standards-track dưới tên XMPP, với RFC 3920. Nó thường được xem là đối thủ cạnh tranh với SIMPLE, dựa trên giao thức SIP, để làm giao thức chuẩn cho nhắn tin nhanh và thông báo hiện diện; tuy nhiên, thiết kế của XMPP được nhắm đến việc cung cấp các tiện ích trình trung gian (*middleware*) liên ứng dụng và mục đích tổng quát.

Người dùng Jabber được xác định bằng tên người dùng và tên máy phục vụ, cách nhau bằng dấu @. Căn cước này được gọi là Jabber ID hay JID.

## JID
JID có dạng thức *tên_người_dùng@tên_miền/tài_nguyên*, tương tự như một địa chỉ email.

Người dùng Jabber có thể truy cập vào tài khoản của mình cùng lúc tại nhiều điểm truy cập khác nhau, được xác định qua phần *tài_nguyên*, ví dụ *tên_người_dùng@tên_miền.com/cơ_quan* và *tên_người_dùng@tên_miền.com/nhà*. Không cần thiết chỉ định phần tài nguyên khi liên lạc với người dùng khác.

Tương tự như Sendmail, người dùng Jabber có thể truy cập vào các giao thức khác qua cổng giao tiếp Jabber (*Jabber Transport*), ví dụ JID của một địa chỉ MSN Messenger là *tên_người_dùng%msn.com@msn.jabberserver.com*.

Tên người dùng trong JID dài tối đa 1023 ký tự và không được chứa `@`, `:`, `'`, `"`, `<`, `>`, `&`, khoảng trắng và ký tự điều khiển.

## Chú thích

## Liên kết ngoài
* XMPP Standards Foundation