Технологія push

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Технологія push  — один з способів розповсюдження інформації (або контенту) у Інтернеті, коли дані поступают від сервера до користувача на основі налаштованих параметрів. Користувач у свою чергу або відхиляє, або приймає дані.

Звичайний користувач може підписатися на різні теми, інформацію від сервіс-провайдера, та, коли оновлення cформовано на сервері, воно передається на комп'ютер користувача. Протилежністю push-технології є технологія pull, де запит ініціює клієнтське програмне забезпечення.

Push-технології набули розголосу завдяки продукту PointCast, популярному в 1990 роки. Мережа PointCast займалася доставкою новин і даних фондового ринку, містила агрегатор з власним форматом, віддалено нагадувала телебачення, з текстом і малюнками, замість відео. Вплив ЗМІ було значним, так що Netscape і Microsoft в розпал браузерної війни вирішили включити цю технологію в свої браузери Netscape Navigator і Internet Explorer відповідно. Однак в більшості випадків користувачі мали низьку швидкість підключення, тому популярність сервісу була низькою, а пізніше зійшла на нуль через pull-технологією RSS на початку 2000-х років. Однак, з розвитком швидкостей, в 2010-х рр. push отримали величезну популярність.

Принцип роботи для сучасних ОС[ред. | ред. код]

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

  1. Сервер push-повідомлень (у кожної сучасної ОС є свій сервер, у iOS це APNS [2], у Android - FCM (Firebase Cloud Messaging) [3], у Windows 10 / Windows 10 Mobile - WNS [4] ).
  2. Сервер автора програми, який посилає повідомлення на сервер push-повідомлень.
  3. Постійно працює служба в операційній системі пристрою, що спілкується з сервером push-повідомлень.
  4. Додаток, що підтримує push-повідомлення.

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

Після того як користувач дає дозвіл додатку на отримання повідомлень, додаток відправляє унікальні дані пристрою на сервер повідомлень для реєстрації. У процесі реєстрації утворюється унікальний ідентифікатор. Потім цей ідентифікатор відправляється з сервера повідомлень на сервер власника додатку.

Коли серверу автора програми необхідно буде відправити повідомлення клієнтам, він зформує саме повідомлення і список унікальних ідентифікаторів, які відповідають адресантам, та відправляє ці дані за допомогою спеціального API на сервер повідомлень. Сервер повідомлень пересилає ці повідомлення клієнтам на їх пристрої. Клієнти мають право як відкинути, так і прийняти ці дані.

Повідомлення можуть містити різні поля, а саме: кнопки відповіді, зображення та інші медіа-дані, бази даних, звук та інші.

Застосування[ред. | ред. код]

Найвідоміше використання push - розсилка повідомлень, наприклад, інформаційних бюлетенів, новин, акцій та пропозицій, наприклад, від магазинів, що доставляються електронною поштою. Подібна система використовується в судах у США, які відправляють на електронну пошту передплатників необхідну інформацію про процеси.

Типовими прикладами push-сервісів є

Push-запити можуть бути змодельовані за допомогою звичайнихpull-запитів, як це відбувається при вилученні повідомлень електронної пошти з сервера POP3, коли поштовий клієнт робить запити кожні кілька хвилин.

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

Інші види використання push-технології включають в себе веб-додатки, в тому числі поширення даних ринку, аукціони, моніторинг, парсинг та інше.

Також існують спеціальні сайти, що дозволяють автоматизувати процес відправки push-повідомлень.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Push Notifications Explained | Urban Airship (en). Urban Airship. Процитовано 2016-02-20. 
  2. Apple Push Notification Service. developer.apple.com. Процитовано 2016-02-20. 
  3. Firebase Cloud Messaging (en). Google Developers. Процитовано 2016-08-18. 
  4. Cloud Messaging  |  Google Developers (en). Google Developers. Процитовано 2016-02-20. 

Посилання[ред. | ред. код]