Comet (програмування)
Comet (у веб-розробці) — неологізм, що описує модель роботи яка дозволяє реалізувати постійне HTTP-з'єднання і дає можливість відправляти дані з сервера за його ініціативою без додаткового запиту клієнта.
Реалізація
Оскільки браузери та веб-сервери працюють по протоколу HTTP, який для подібних з'єднань не розрахований то розробники використовують різні реалізації.
Два основні підходи
Long-polling — клієнт підключається до сервера який не закриває з'єднання доки не з'являться дані або мине час очікування. Після чого клієнт підключається повторно.
Streaming — в цьому випадку з'єднання постійно залишається відкритим і не закривається після кожної передачі даних. Цей підхід є складнішим і потребує спеціально програмного забезпечення.
Реалізувати таку модель на стороні клієнта можна з допомогою JavaScript використовуючи AJAX або IFRAME. А на стороні сервера з допомогою, практично, будь-якого веб-сервера та мови програмування.
Проте, сервер в цій моделі повинен одночасно утримувати багато постійних з'єднань.
Звичайний варіант на базі Apache та PHP не зможе витримати велике число одночасних з'єднань, тому краще використовувати спеціалізовані рішення:
Див. також
- WebSocket — протокол двостороннього зв'язку з сервером
- Server sent event