--- 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 ---
Заголовок ответа 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
: "Может показаться, что вернуть 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")}}.
Если сервер послал ответ со значением 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")}} | Начальное определение. |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("http.headers.Access-Control-Allow-Origin")}}