Spec-Zone.ru › HTTP

Заголовки: 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

См. также

  • Access-Control-Allow-Origin
  • Access-Control-Expose-Headers
  • Access-Control-Allow-Methods
  • Access-Control-Request-Headers

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API