Вебхуки
Веб-перехватчики предназначены для обмена данными между серверами. Они работают, когда один сервер сообщает другому серверу, что он хочет, чтобы данные отправлялись на определенный URL-адрес, когда что-то происходит.
В этой статье рассказывается о некоторых случаях использования веб-перехватчиков в популярных сервисах. Эта организация много говорит об их использовании в контексте RESTful API.
Веб-сокеты
Веб-сокеты (обычно) предназначены для связи сервера с браузером. На сервере находится сервер веб-сокетов, и клиенты могут открывать соединение с этим сервером. Сейчас это популярно в основном потому, что это быстрее и требует меньше ресурсов, чем старые способы решения проблемы, такие как длинный опрос / COMET .
Это можно подключить 2 сервера с помощью WebSockets , но это обычно не то , что они используются.
Путаница
Несмотря на то, что один из них (исключительно) сервер-сервер, а другой (в основном) браузер-сервер, эти технологии часто обсуждаются в одних и тех же местах, почти как будто они решают одни и те же проблемы. Если вы посмотрите на цепочку достаточно высоко, вы увидите, что оба они решают проблему связи «в реальном времени», но они решают разные аспекты этой проблемы по-разному .
Одна из ситуаций, когда может быть прямое сравнение, - это если вы создаете API, который будет использоваться сторонним сервером. В этой ситуации вы можете предоставить API веб-перехватчика или API веб-узла . Оба позволяют третьей стороне быстро получать обновления:
- Если вы выберете веб-перехватчики, этой третьей стороне все равно придется найти способ отправить изменения, о которых вы им сообщаете, в браузеры их клиентов.
- Если вы предоставляете API веб-сокета, сторонняя сторона может просто настроить свой сайт, чтобы каждый из их пользователей напрямую подключался к вашему API-интерфейсу веб-сокета, а их серверы должны были выполнять меньше работы.