Технология Push

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Технология Push (англ. push, дословно — «проталкивание») — один из способов распространения информации (контента) в Интернете, когда данные поступают от поставщика к пользователю на основе установленных параметров. Пользователь же в свою очередь либо отвергает, либо принимает данные.

Обычный пользователь может подписаться на различные темы, информацию от сервис-провайдера, и каждый раз, когда новое обновление формируется на сервере, это обновление доставляется на компьютер пользователя. Противоположностью Push-технологии является технология Pull, где запрос инициирует клиентское программное обеспечение.

Push-технологии приобрели известность благодаря продукту PointCast, популярному в 90-е годы. Сеть PointCast занималась доставкой новостей и данных фондового рынка, содержала агрегатор с собственным форматом, отдалённо напоминавшим телевидение, с текстом и рисунками, вместо видео. Влияние СМИ было значительным, так что Netscape и Microsoft в разгар браузерной войны решили включить эту технологию в свои браузеры Netscape Navigator и Internet Explorer соответственно. Однако в большинстве случаев пользователи имели низкую скорость подключения, поэтому популярность сервиса была низкой, а позже сошла на нет, вытесненная pull-технологией RSS в начале 2000-х.

Принцип работы для современных ОС[править | править вики-текст]

Для работы push-уведомлений используется четыре компонента[1]:

  1. Сервер push-уведомлений (у каждой современной ОС есть свой сервер, у iOS это APNS[2], у Android — GCM[3]).
  2. Сервер автора приложения, который посылает уведомления серверу push-уведомлений.
  3. Постоянно работающая служба в операционной системе устройства, общающаяся с сервером push-уведомлений.
  4. Приложение, поддерживающее push-уведомления.

Предварительно разработчик приложения регистрирует свой сервер на сервере уведомлений ОС.

После того как пользователь даёт разрешение приложению на получение уведомлений, приложение отправляет уникальный ID приложения и уникальный номер устройства на сервер уведомлений и регистрируется на этом сервере. Эти два уникальных номера образуют уникальный идентификатор. Затем этот идентификатор отправляется с сервера уведомлений на сервер владельца приложения.

Когда сервер автора приложения должен будет отправить уведомления клиентам, он формирует само сообщение и список (может состоять из одного) уникальных идентификаторов и отправляет эти данные с помощью специального API на сервер уведомлений. Сервер уведомлений пересылает эти сообщения клиентам. Клиенты в праве как отбросить, так и принять эти данные.

Уведомления могут содержать различные поля, такие как: кнопки ответа, изображение, числовое значение для бейджика приложения, звук и другие.

Применение[править | править вики-текст]

Самое известное использование Push — рассылка сообщений по подписке, например, информационных бюллетеней, доставляемых по электронной почте. Подобная система используется в судах в США, которые отправляют на электронную почту подписчиков требуемую информацию о процессах.

Типичными примерами push-сервисов являются

Push-запросы могут быть смоделированы и с помощью регулярных pull-запросов, как это происходит, например, при извлечении сообщений электронной почты с сервера POP3, когда почтовый клиент делает запросы каждые несколько минут.

Также такие системы, как Kazaa, которая включает в себя Push-технологию файлов дольщиков, где есть возможность выбрать любой контент-сервер, который будет подключён.

Другие виды использования push-технологии включают в себя веб-приложения, в том числе распространения данных рынка (котировки акций), аукционы, мониторинг сетевых датчиков.

Также существуют специальные сайты, позволяющие автоматизировать процесс отправки push-уведомлений, например, Panaur[4], Pushwoosh[5].

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Push Notifications Explained | Urban Airship (en-US). Urban Airship. Проверено 20 февраля 2016.
  2. Apple Push Notification Service. developer.apple.com. Проверено 20 февраля 2016.
  3. Cloud Messaging  |  Google Developers (англ.). Google Developers. Проверено 20 февраля 2016.
  4. Web-Push уведомления Panaur.com. panaur.com. Проверено 4 февраля 2016.
  5. Pushwoosh

Ссылки[править | править вики-текст]