Заголовки: Access-Control-Allow-Headers
Заголовок Access-Control-Allow-Headers
Baseline Широко доступно *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
* Некоторые части этой функции могут поддерживаться в разной степени.
HTTP-заголовок Access-Control-Allow-Headers — это заголовок ответа, который используется в ответ на предварительный запрос и указывает заголовки HTTP, которые можно использовать в фактическом запросе. Этот заголовок требуется, если предварительный запрос содержит Access-Control-Request-Headers.
Примечание: Заголовки запросов, включённые в список разрешённых для CORS, всегда разрешены и обычно не указываются в Access-Control-Allow-Headers, если только не требуется обойти дополнительные ограничения списка разрешённых заголовков.
| Тип заголовка | Заголовок ответа |
|---|
Синтаксис
Access-Control-Allow-Headers: <header-name> Access-Control-Allow-Headers: <header-name>, <header-name> Access-Control-Allow-Headers: *
Директивы
<header-name>-
Имя поддерживаемого заголовка запроса. В заголовке можно указать любое количество заголовков, разделённых запятыми.
*(подстановочный знак)-
Любой заголовок. Значение
*считается специальным подстановочным знаком только для запросов без учётных данных (запросов без файлов cookie HTTP или данных аутентификации HTTP). В запросах с учётными данными оно трактуется как буквальное имя заголовка*без специальной семантики. ЗаголовокAuthorizationне поддерживает подстановочный знак и всегда должен указываться явно.
Примеры
>Реализация пользовательского заголовка
Ниже приведён пример заголовка Access-Control-Allow-Headers. Он указывает, что пользовательский заголовок с именем X-Custom-Header поддерживается CORS-запросами к серверу в дополнение к заголовкам запросов, включённым в список разрешённых для CORS.
Access-Control-Allow-Headers: X-Custom-Header
Поддержка нескольких заголовков
В этом примере показано Access-Control-Allow-Headers, когда он указывает поддержку нескольких заголовков.
Access-Control-Allow-Headers: X-Custom-Header, Upgrade-Insecure-Requests
Обход дополнительных ограничений для заголовков из списка разрешённых для CORS
Хотя заголовки запросов, включённые в список разрешённых для CORS, всегда разрешены и обычно их не нужно указывать в Access-Control-Allow-Headers, их явное указание обходит применяемые к ним дополнительные ограничения.
Access-Control-Allow-Headers: Accept
Обработка предварительных запросов
Рассмотрим пример предварительного запроса с участием Access-Control-Allow-Headers.
Запрос
Сначала отправляется предварительный запрос OPTIONS, который включает некоторую комбинацию из трёх заголовков предварительного запроса: Access-Control-Request-Method, Access-Control-Request-Headers и Origin.
Приведённый ниже предварительный запрос сообщает серверу, что мы хотим отправить запрос CORS GET с заголовками, перечисленными в Access-Control-Request-Headers (Content-Type и X-Requested-With).
OPTIONS /resource/foo Access-Control-Request-Method: GET Access-Control-Request-Headers: content-type,x-requested-with Origin: https://www.example.com
Ответ
Если запрос CORS, указанный в предварительном запросе, авторизован, сервер ответит на предварительный запрос сообщением, в котором указаны разрешённые источник, методы и заголовки. Ниже видно, что Access-Control-Allow-Headers содержит запрошенные заголовки.
HTTP/1.1 200 OK Content-Length: 0 Connection: keep-alive Access-Control-Allow-Origin: https://www.example.com Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE Access-Control-Allow-Headers: Content-Type, x-requested-with Access-Control-Max-Age: 86400
Если запрошенный метод не поддерживается, сервер ответит сообщением об ошибке.
Спецификации
| Спецификация |
|---|
| Fetch> # http-access-control-allow-headers> |
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
Access-Control-Allow-Headers |
4 | 12 | 3.5 | 12 | 4 | 18 | 4 | 12 | 3.2 | 1.0 | 2 | 3.2 |
authorization_not_covered_by_wildcard |
Нет | Нет | 115 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
wildcard |
63 | 79 | 69 | 50 | 13 | 63 | 79 | 46 | 13 | 8.2 | 63 | 13 |
См. также
© 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-Headers