Выбор ответа Junior Web API и воркеры обновлено

Где работает Service Worker

Вопрос

Разработчик выложил сайт по http://example.ru и не может зарегистрировать Service Worker. В чём причина?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Service Worker требует безопасный контекст: HTTPS или localhost. Service Worker может перехватывать весь трафик страницы, поэтому браузеры разрешают его только в безопасном контексте: HTTPS или localhost для разработки.

Варианты ответа

  1. Service Worker требует безопасный контекст: HTTPS или localhostправильный ответ
  2. Service Worker регистрируется только из Web Worker, а не со страницы
  3. Service Worker работает только в Chrome, а в других браузерах его нет
  4. Нужно сначала запросить у пользователя разрешение через Notification

Разбор

Service Worker может перехватывать весь трафик страницы, поэтому браузеры разрешают его только в безопасном контексте: HTTPS или localhost для разработки. Регистрируют его со страницы через navigator.serviceWorker.register, а не из воркера. Он поддерживается во всех основных браузерах. Разрешение пользователя нужно для push-уведомлений, а не для самой регистрации.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме