Spec-Zone.ru › HTTP

Политика внедрения из другого источника

Политика внедрения из другого источника

Заголовок ответа HTTP Cross-Origin-Embedder-Policy (COEP) предотвращает загрузку документом любых ресурсов из другого источника, которые явно не предоставили документу разрешение (используя CORP или CORS).

Тип заголовка Заголовок ответа
Запрещённое имя заголовка нет

Синтаксис

Cross-Origin-Embedder-Policy: unsafe-none | require-corp

Директивы

unsafe-none

Это значение по умолчанию. Разрешает документу получать ресурсы из другого источника без явного разрешения через протокол CORS или заголовок Cross-Origin-Resource-Policy.

require-corp

Документ может загружать ресурсы только из того же источника или ресурсов, явно помеченных как загружаемые из другого источника. Если ресурс из другого источника поддерживает CORS, атрибут crossorigin или заголовок Cross-Origin-Resource-Policy должны использоваться для загрузки ресурса без блокировки COEP.

Примеры

Определённые функции зависят от изоляции из другого источника

Вы можете получить доступ к определённым функциям, таким как объекты SharedArrayBuffer или Performance.now() с таймерами без ограничений, если у вашего документа есть заголовок COEP со значением require-corp.

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin

См. также заголовок Cross-Origin-Opener-Policy, который также необходимо установить.

Чтобы проверить, была ли успешно выполнена изоляция из другого источника, вы можете проверить свойство crossOriginIsolated, доступное для контекстов window и worker:

if (crossOriginIsolated) {
  // Post SharedArrayBuffer
} else {
  // Do something else
}

Избегание блокировки COEP с помощью CORS

Если вы включили COEP с помощью require-corp и у вас есть ресурс из другого источника, который необходимо загрузить, он должен поддерживать CORS, и вы должны явно пометить ресурс как загружаемый из другого источника, чтобы избежать блокировки от COEP. Например, вы можете использовать атрибут crossorigin для этого изображения с сайта третьей стороны:

<img src="https://thirdparty.com/img.png" crossorigin />

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

Спецификация
Стандарт HTML
# coep

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet
Cross-Origin-Embedder-Policy
83
83
79
Нет
69
15.2
86
83
79
59
15.2
13.0
credentialless
96
96
Нет
Нет
82
Нет
96
96
Нет
Нет
Нет
17.0

См. также

  • Cross-Origin-Opener-Policy

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy

Spec-Zone.ru

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