OBEX

OBEX (OBject EXchange) — протокол обміну об'єктами, що дозволяє не тільки передавати і приймати текстову інформацію, але і пересилати інтернет-сторінки, графіку, музику, мультимедіа-дані і просто виконавчі файли.

Одним з перших телефонів, які підтримують протокол OBEX для передачі не тільки візитівок і календарних нотаток, а й тони дзвінка та екранних логотипів, був Siemens S25. Після появи протоколу OBEX вийшла специфікація Ir-MC (Infrared Mobile Communication), що стала найбільш популярним стандартом з'єднання за допомогою ІЧ-зв'язку. Була прийнята технологія BlueTooth, яка також використовує протокол OBEX.

Відмінності між OBEX і HTTP

Дизайн і функціональні можливості OBEX схожі на протокол HTTP, в якому клієнт використовує надійний транспорт для з'єднання з сервером і може запитувати та надавати інформацію. Незважаючи на цю подібність, OBEX має безліч важливих відмінностей:

  • Транспорт. HTTP звичайно базується на стеку TCP/IP, а OBEX на стеку IrLAP/IrLMP/Tiny TP. В Bluetooth пристроях OBEX реалізується на стеку Baseband/Link Manager/L2CAP/RFCOMM. Також можливі й інші реалізації.
  • Двійкові дані. HTTP використовує зрозумілий для людини текст, а OBEX використовує двійковий формат у вигляді тріад тип-довжина-значення, які називаються «Заголовки» («Headers»). Для пристроїв з обмеженими ресурсами інформація в такому вигляді значно легша для розбору.
  • Підтримка сесій. Історично HTTP не підтримує стан сесії (stateless): клієнт відкриває з'єднання, робить одиничний запит, отримує відповідь на нього, закриває з'єднання. У випадку з OBEX, одне з'єднання може обслуговувати безліч операцій. Пізніші специфікації OBEX дозволяють зберігати цілісність раптово обірваних транзакцій.

Програми, що використовують OBEX

Посилання