Поради для всіх
» » Нотифікація в браузері - що це таке?

Нотифікація в браузері - що це таке?

Додано: 15.06.16
Автор: admin
Багато користувачів інтернету задаються питанням: «Нотифікація в браузері – що це?» Вона відображає певний стиль інтернет-серфінгу, де запит про який-небудь транзакції ініціюється від центрального сервера. Це контрастує із зворотним напрямком даних, де запит на передачу інформації ініціюється одержувачем або клієнтом.
Нотифікація в браузері - що це таке?
Нотификационние сервіси часто засновані на інформаційних уподобаннях, висловлених заздалегідь. Це називається модель підписки на публікації. Клієнт «виписує» собі різні інформаційні «канали», надані сервером. Всякий раз, коли новий контент доступний на одному з цих каналів, сервер направляє цю інформацію до нього. Нотифікація в браузері іноді емулює з технікою опитування, особливо в умовах, де реальний запит не представляється можливим, наприклад, на сайтах з серйозною політикою безпеки, які вимагають відмови від вхідних запитів HTTP/S.


Принцип дії

Синхронна конференц-зв'язок і обмін миттєвими повідомленнями є типовими прикладами, як виглядає нотифікація. Що це і як воно працює? Повідомлення чату і іноді файли виштовхуються до користувача, як тільки вони опиняються отриманими, за допомогою служби обміну повідомленнями. Обидва децентралізованих з'єднання рівноправних вузлів LVS і централізовані програми (такі як IRC або XMPP) дозволяють «проштовхувати» файли. Це означає, що саме відправник ініціює передачу даних, а не одержувач.
Нотифікація в браузері - що це таке?
Електронна пошта також може працювати з нотифікацією - протокол SMTP є, по своїй суті, «поштовхом». Тим не менш останній «крок» від поштового сервера на комп'ютері зазвичай робить такий навантажувальний протокол, як POP3 або IMAP. Протокол IMAP включає в себе IDLE-команду, яка дозволяє серверу повідомити клієнта про надходження нових повідомлень. Оригінальний BlackBerry був першим популярним пристроєм, де активно працювала нотифікація у браузері. Що це таке в цих гаджетах – можна побачити в роботі електронної пошти (при бездротового зв'язку).


Що було раніше?

Іншим прикладом може служити мережа PointCast, яка була відома в 1990-і роки. Вона надавала новини та дані фондового ринку. І Netscape, і додатки від Microsoft інтегрували її у своє програмне забезпечення до кожної версії своїх браузерів, але вона ніколи не була популярною, а пізніше зовсім зникла. Браузери згодом замінили цей функціонал в 2000-е роки на RSS - систему передплат, де присутня більш досконала нотифікація у браузері. Що таке дані передплати – знає кожен читач блогів.
Нотифікація в браузері - що це таке?
Інші види використання нотифікації з підтримкою веб-додатків включають в себе інформування про ринкових даних (біржове котирування), онлайн-чати і системи обміну повідомленнями (WebChat), аукціони, онлайн-ставки та ігри, спортивні тоталізатори, пульти моніторингу тощо.

Нотифікація в браузері – що таке сьогодні?

Нотифікація з допомогою IEFT є простим протоколом, який використовує HTTP/2 для доставки миттєвого повідомлення (про вхідні дзвінки і повідомленнях). Протокол об'єднує всі події реального часу в одній сесії, яка забезпечує більш ефективне використання мережевих і радіоресурсу. Єдиний сервіс об'єднує всі події, розподіляючи їх для додатків по мірі надходження. Для цього потрібно всього лише один сеанс, що дозволяє уникнути зайвих витрат часу і трафіку.
Нотифікація в браузері - що це таке?

Нотифікація в браузері – що це з технічної точки зору?

HTTP-нотифікація (також відома як потоковий HTTP) являє собою механізм для відправки даних з веб-сервера для браузера. Вона може бути досягнута за допомогою будь-якого з декількох механізмів. Як правило, веб-сервер не припиняє з'єднання після того, як повідомлення було направлено клієнту. Веб-сервер залишає з'єднання відкритим, і в разі виникнення нового події (наприклад, зміна даних, надісланих у повідомленні) це відобразиться моментально. В іншому випадку подія доведеться ставити в чергу до тих пір, поки наступний запит клієнта не буде отриманий.
Нотифікація в браузері - що це таке?
Більшість веб-серверів пропонують цю функцію за допомогою CGI (наприклад, неформатируемие заголовки сценаріїв на Apache). Базовим механізмом такого підходу служить блокове кодування передачі. Класичним прикладом може служити нотифікація в браузері в «Однокласниках». Що це таке на даному сайті? У першу чергу це інформація про повідомлення, що надійшли і позначках «Подобається».

Альтернативні механізми

Інший механізм пов'язаний з особливим типом MIME, який називається багатокомпонентної заміною. Вперше він був представлений в 1995 році Netscape, коли браузери «на льоту» змінювали документ всякий раз, коли на сервер надходила нова версія. Він як і раніше підтримується в Firefox, Opera, Safari і сьогодні, але не доступний в Internet Explorer. Даний механізм може бути застосований до HTML-документами, а також для потокової передачі зображень у програмах для веб-камери.
Нотифікація в браузері - що це таке?
WHATWG Web Applications 1.0 включає в себе механізм, що направляє змінився зміст клієнту. Він відомий з 1 вересня 2006 року, коли в веб-браузері Opera реалізували цю нову експериментальну систему під назвою Server-SentEvents. В даний час він стандартизований як частина HTML5. У цьому методі сервер використовує постійне з'єднання HTTP, в результаті чого відповідь постійно залишається «відкритим» (тобто сервер ніколи не припиняє відповідь), ефективно «обманюючи» браузер. Таким чином, додаток весь час залишається в режимі завантаження, після того, як сторінка вже відкрилася в повному обсязі. Сервер потім періодично посилає фрагменти javascript, щоб оновити вміст сторінки, забезпечуючи тим самим можливість нотифікації. Використовуючи цю техніку, клієнт не потребує аплетах Java або інших плагінах, щоб зберегти відкрите з'єднання з сервером - клієнт автоматично отримує повідомлення про нові події, що йдуть з сервера. Одним серйозним недоліком цього методу, однак, є відсутність контролю з боку сервера по часу роботи браузера. Оновлення сторінки завжди необхідно, якщо виникає тайм-аут на відкритій сторінці.

Запам'ятовування даних

Техніка запам'ятовування сама по собі не є істинною нотифікацією. Вона лише дозволяє емулювати механізм нотифікації в умовах, коли вона не представляється можливою. Наприклад, на сайтах з вимогливою політикою безпеки, які вимагають відмови від вхідних запитів HTTP/S. Тут неможлива нотифікація в браузері (що це і як воно працює – зазначено вище). У цьому випадку клієнт запитує інформацію точно так, як у звичайному запиті, але із-за очікування сервер не може негайно реагувати. Якщо сервер не має ніякої нової інформації для клієнта, коли запит буде отримано - замість того, щоб відправити порожній відповідь, запит залишається відкритим в очікуванні нової інформації. Після того як такі дані з'являються, він негайно надсилає відповідь HTTP/S клієнту, завершивши відкрите з'єднання. Після отримання відповіді клієнт часто відразу видає запит на інший сервер. Таким чином, звичайний час затримки відгуку (час між тим, коли інформація стає доступною, і наступний запит клієнта), пов'язане з надходженням запитів, виключається.

XML Socket

Нотифікація в браузері, що працює за допомогою цього методу, використовується CBOX і іншими додатками для чату. Вона використовує об'єкти XML Socket в однопиксельних файлах AdobeFlash. Під контролем javascript клієнт встановлює з'єднання TCP до однонаправленим сайтів на сервері. Запит при цьому залишається непрочтенним, замість цього сайту негайно відправляє клієнту унікальний ідентифікатор. Потім робиться запит HTTP веб-сервера, в якому міститься отриманий ідентифікатор. Веб-додаток може видати повідомлення, адресовані клієнту, на локальний інтерфейс сервера ретрансляції, який передає їх через Flash. Перевага такого підходу полягає в тому, що застосовує природну асиметричність читання-запису.
Нотифікація в браузері - що це таке?
Це характерно для багатьох веб-додатків, в тому числі чатів, і, як наслідок, забезпечує високу ефективність. Так як він не приймає дані на вихідні сокети, серверу не потрібно запитувати вихідні з'єднання TCP, і це робить можливим встановлення десятків тисяч одночасних з'єднань. Так відбувається нотифікація в браузері на «Однокласниках» у деяких сервісах сайту.

Доступні послуги нотифікації

Ця функція доступна на багатьох сервісах, які підтримують вищевказані сполуки. Як вже було встановлено, нотифікація в браузері – це можливість отримувати миттєві повідомлення та сповіщення, не перезавантажуючи сторінку. Сервіси, де ця послуга доступна, включають в себе:
  • Служба повідомлень Apple.
  • Google Cloud Messaging.
  • «Однокласники».
  • Facebook.
  • Xtremepush.
  • Amazon SNS.