Заголовки: Service-Worker-Allowed
Заголовок Service-Worker-Allowed
Заголовок HTTP Service-Worker-Allowed ответа используется для расширения ограничения пути по умолчанию для scope сервис-воркера.
По умолчанию scope регистрации сервис-воркера — это каталог, в котором находится скрипт сервис-воркера. Например, если скрипт sw.js находится в /js/sw.js, по умолчанию он может управлять только URL-адресами в пределах /js/. Серверы могут использовать заголовок Service-Worker-Allowed, чтобы разрешить сервис-воркеру управлять URL-адресами за пределами его собственного каталога.
Сервис-воркер перехватывает все сетевые запросы в пределах своей области действия, поэтому не следует использовать слишком широкие области действия без необходимости.
| Тип заголовка | Заголовок ответа |
|---|
Синтаксис
Service-Worker-Allowed: <scope>
Директивы
<scope>-
Строка, представляющая URL-адрес, который определяет область регистрации сервис-воркера, то есть диапазон URL-адресов, которыми может управлять сервис-воркер.
Примеры
>Использование Service-Worker-Allowed для расширения области действия сервис-воркера
Пример JavaScript ниже находится в example.com/product/index.html и пытается зарегистрировать сервис-воркер с областью действия, охватывающей все ресурсы в example.com/.
navigator.serviceWorker.register("./sw.js", { scope: "/" }).then(
(registration) => {
console.log("Install succeeded, scoped to '/'", registration);
},
(error) => {
console.error(`Service worker registration failed: ${error}`);
},
);
HTTP-ответ на запрос ресурса скрипта сервис-воркера (./sw.js) содержит заголовок Service-Worker-Allowed со значением /:
HTTP/1.1 200 OK Date: Mon, 16 Dec 2024 14:37:20 GMT Service-Worker-Allowed: / // sw.js contents…
Если сервер не установит этот заголовок, регистрация сервис-воркера завершится ошибкой, поскольку параметр scope ({ scope: "/" }) задаёт область действия, которая шире каталога, где находится скрипт сервис-воркера (/product/sw.js).
Спецификации
| Спецификация |
|---|
| Service Workers Nightly> # service-worker-allowed> |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
Service-Worker-Allowed |
42 | 16 | 40 | 29 | 11.1 | 42 | 40 | 29 | 11.3 | 4.0 | 42 | 11.3 |
См. также
-
заголовок
Service-Worker - API сервис-воркеров
ServiceWorkerRegistration- Почему не удаётся зарегистрировать сервис-воркер в статье Использование сервис-воркеров.
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Service-Worker-Allowed