Spec-Zone.ru › HTTP

Заголовки: Origin-Agent-Cluster

Заголовок Origin-Agent-Cluster

HTTP-заголовок Origin-Agent-Cluster ответа используется для запроса о том, чтобы связанный Document был помещён в агентный кластер, привязанный к источнику. Это означает, что ресурсы операционной системы (например, процесс операционной системы), используемые для обработки документа, должны совместно использоваться только с другими документами из того же источника.

В результате ресурсозатратный документ с меньшей вероятностью снизит производительность документов из других источников.

Тип заголовка Заголовок ответа

Синтаксис

Origin-Agent-Cluster: <boolean>

Директивы

<boolean>

?1 означает, что связанный Document должен быть помещён в агентный кластер, привязанный к источнику. Значения, отличные от ?1, игнорируются (например, структурированное поле ?0 для значения false).

Описание

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

Однако браузеры, как правило, не могут запускать страницы с одного сайта, но из разных источников, в отдельных процессах из-за некоторых API DOM, зависящих от взаимодействия между страницами с одного сайта, но из разных источников. Например, по умолчанию страницы со следующих двух источников будут совместно использовать одни и те же ресурсы операционной системы:

https://apples.example.org
https://oranges.example.org

Установив заголовок Origin-Agent-Cluster, страница может запросить у браузера выделение для этого источника отдельных ресурсов, которые не будут совместно использоваться с другими источниками.

Браузер не обязан выполнять этот запрос. Если он его выполняет, свойство Window.originAgentCluster возвращает true, а окно не может выполнять следующие действия, которые зависят от взаимодействия между страницами с одного сайта, но из разных источников:

  • Использовать Document.domain.
  • Отправлять объекты WebAssembly.Module другим страницам с одного сайта, но из разных источников, используя postMessage().
  • Отправлять объекты SharedArrayBuffer или WebAssembly.Memory другим страницам с одного сайта, но из разных источников.

Агентные кластеры, привязанные к источнику, не следует считать средством обеспечения безопасности: браузеры могут игнорировать запрос по разным причинам или реализовать его так, чтобы он не обеспечивал защиту памяти (например, используя отдельные потоки вместо отдельных процессов). Эта функция лишь подсказывает, что пользовательский опыт улучшится, если для данного источника выделить отдельные ресурсы.

Например, предположим, что на сайте есть страница из одного источника, в которую встроен iframe с того же сайта, но из другого источника, где запускается ресурсоёмкая игра. Установив Origin-Agent-Cluster для документа в iframe, можно предотвратить влияние игры на производительность основной страницы.

Браузер обеспечит, чтобы все страницы заданного источника либо были привязаны к источнику, либо нет. Это означает следующее:

  • Если первая страница из источника не устанавливает заголовок, другие страницы из этого источника не будут привязаны к источнику, даже если они устанавливают этот заголовок.
  • Если первая страница из источника устанавливает заголовок и становится привязанной к источнику, все остальные страницы из этого источника также будут привязаны к источнику, независимо от того, запрашивают ли они это.

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

Примеры

Origin-Agent-Cluster: ?1

Спецификации

Спецификация
HTML>
# origin-agent-cluster>

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
Origin-Agent-Cluster 90 90 138 76 Нет 90 138 64 Нет 15.0 90 Нет

См. также

  • Window.originAgentCluster
  • Агентные кластеры и совместное использование памяти в разделе Модель выполнения JavaScript
  • Запрос изоляции производительности с помощью заголовка Origin-Agent-Cluster на web.dev

© 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/Origin-Agent-Cluster

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API