Thanks to visit codestin.com
Credit goes to developer.mozilla.org

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Access-Control-Allow-Origin

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨июль 2015 г.⁩.

Заголовок ответа Access-Control-Allow-Origin показывает, может ли ответ сервера быть доступен коду, отправляющему запрос с данного источника origin.

Тип заголовка Response header
Forbidden header name нет

Синтаксис

Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null

Директивы

*

Для запросов без учётных данных. Значение "*" может быть использован как шаблон; значение указывает браузеру разрешить запросы из любых источников. Попытка использовать шаблон с учётными данными приведёт к ошибке.

<origin>

Указывает источник. Может быть указан только один источник.

null

Определяет в качестве источника "null".

Примечание: Не используйте null: "Может показаться, что вернуть Access-Control-Allow-Origin: "null" безопасно, но сериализация Источника любого ресурса, использующего неиерархическую схему (такие как data: или file:), и изолированные документы, определяются как "null". Многие пользовательские агенты предоставляют таким документам доступ к ответу с заголовком Access-Control-Allow-Origin: "null", и любой источник может создать враждебный документ с Источником "null". Поэтому использования заголовка ACAO со значением "null" следует избегать."

Примеры

Ответ, который указывает браузеру разрешить доступ к ресурсу из любого источника:

Access-Control-Allow-Origin: *

Ответ, который указывает браузеру разрешить доступ к ресурсу только из источника https://developer.mozilla.org:

Access-Control-Allow-Origin: https://developer.mozilla.org

Чтобы ограничить Access-Control-Allow-Origin разрешённым набором значений, необходимо реализовать логику на стороне сервера для проверки значения заголовка Origin запроса, сравнить его с разрешённым списком источников, а затем, если значение Origin присутствует в списке, задать значение Access-Control-Allow-Origin, равное значению Origin.

CORS и кеширование

Если сервер послал ответ со значением Access-Control-Allow-Origin, которое содержит явное указание источника (а не шаблонное значение "*"), тогда ответ также должен включать в себя заголовок Vary со значением Origin — чтобы указать браузеру, что ответы с сервера могут отличаться в зависимости от заголовка запроса Origin.

Access-Control-Allow-Origin: https://developer.mozilla.org
Vary: Origin

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

Specification
Fetch
# http-access-control-allow-origin

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

Смотрите также