--- title: Access-Control-Allow-Origin slug: Web/HTTP/Headers/Access-Control-Allow-Origin translation_of: Web/HTTP/Headers/Access-Control-Allow-Origin original_slug: Web/HTTP/Заголовки/Access-Control-Allow-Origin ---
{{HTTPSidebar}}

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

Тип заголовка {{Glossary("Response header")}}
{{Glossary("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 разрешенным набором значений, необходимо реализовать логику на стороне сервера для проверки значения заголовка {{HTTPHeader("Origin")}} запроса, спавнить его с разрешенным списком источников, а затем, если значение {{HTTPHeader("Origin")}} присутствует в списке, задать значение Access-Control-Allow-Origin, равное значению {{HTTPHeader("Origin")}}.

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

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

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

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

Спецификации Статус Комментарий
{{SpecName('Fetch','#http-access-control-allow-origin', 'Access-Control-Allow-Origin')}} {{Spec2("Fetch")}} Начальное определение.

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

{{Compat("http.headers.Access-Control-Allow-Origin")}}

См. также