Заголовок доступа к ресурсам по другому домену
Заголовок доступа к ресурсам по другому домену
Заголовок ответа 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» для заголовка ACAO.
Примеры
Ответ, который сообщает браузеру разрешить коду из любого источника доступ к ресурсу, будет содержать следующее:
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 | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
Access-Control-Allow-Origin |
4 |
12 |
3.5 |
10 |
12 |
4 |
2 |
Да |
4 |
12 |
3.2 |
Да |
См. также
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin