This page was translated from English by the community.Learn more and join the MDN Web Docs community.
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 | нет |
In this article
Синтаксис
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.orgVary: Origin
Спецификации
| Specification |
|---|
| Fetch> # http-access-control-allow-origin> |