Заголовки: Access-Control-Allow-Origin
Заголовок Access-Control-Allow-Origin
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
HTTP-заголовок Access-Control-Allow-Origin ответа указывает, может ли ответ быть доступен запрашивающему коду с указанного источника.
| Тип заголовка | Заголовок ответа |
|---|
Синтаксис
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. Поэтому следует избегать значенияnullдля заголовкаAccess-Control-Allow-Origin.
Примеры
Ответ, сообщающий браузеру, что к ресурсу разрешён доступ коду с любого источника, будет содержать следующее:
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
Спецификации
| Спецификация |
|---|
| Fetch> # http-access-control-allow-origin> |
Совместимость с браузерами
| Для настольных компьютеров | Для мобильных устройств | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
Access-Control-Allow-Origin |
4 | 12 | 3.5 | 12 | 4 | 18 | 4 | 12 | 3.2 | 1.0 | 2 | 3.2 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Origin