В чем разница между Push API и событиями, отправленными сервером?
Из документации я мог бы выяснить, что Push API и Сервер отправлен События являются полудуплексными, но почему две разные технологии для одной и той же функциональности?
Есть ли что-то более значимое в Push API?
Ответы
Ответ 1
API Push позволяет серверу отправлять уведомление клиенту, даже если ваш сайт не открыт, потому что он полагается на работников службы.
SSE (или WebSockets) работают до тех пор, пока пользователь использует ваш сайт.
В разделе Web Push
ServiceWorker Cookbook есть несколько примеров (с документацией), которые помогут вам лучше понять это.
Ответ 2
Вы используете серверные события для подключения непосредственно к вашему веб-сайту, это довольно легко.
Технология Web Push намного сложнее, браузер пользователя поддерживает одно соединение с сервером push-сервера поставщика браузера, который собирает и передает все нажатия с веб-сайтов (мультиплексирует их). Поскольку сообщения проходят через сторонний сервер, они должны быть зашифрованы. Чтобы использовать Push API, вы (на стороне клиента) получаете URL-адрес конечной точки поставщика для конкретного браузера, генерируете общедоступный ключ шифрования и отправляете его обратно на свой сервер для использования. Затем на вашем сервере, когда вы хотите нажать, вы шифруете сообщение с помощью ключа и нажимаете его на конечную точку.
Общая информация о Web Push
Firefox поддерживает активное подключение к службе push, чтобы получать push-сообщения до тех пор, пока они открыты.
Это основное преимущество Web Push - вы можете доставлять уведомления так же, как пользователь открывает браузер, ему не нужно будет посещать ваш сайт. Недостатком является то, что вам нужно получить разрешение от пользователя для этой подписки. Другим недостатком является то, что он далеко не широко поддерживается в настоящее время.
Техническая информация о Push API