Spec-Zone.ru › HTTP

Заголовок Access-Control-Allow-Headers

Заголовок Access-Control-Allow-Headers

Заголовок ответа Access-Control-Allow-Headers используется в ответ на предварительный запрос предварительного запроса, который включает Access-Control-Request-Headers, чтобы указать, какие HTTP-заголовки могут быть использованы во время фактического запроса.

Этот заголовок необходим, если запрос содержит заголовок Access-Control-Request-Headers.

Примечание: заголовки запроса, разрешенные CORS, всегда разрешены и обычно не перечисляются в Access-Control-Allow-Headers (если нет необходимости обойти дополнительные ограничения дополнительных ограничений).

Тип заголовка Заголовок ответа
Запрещённое имя заголовка нет

Синтаксис

Access-Control-Allow-Headers: [<header-name>[, <header-name>]*]
Access-Control-Allow-Headers: *

Директивы

<header-name>

Имя поддерживаемого заголовка запроса. Заголовок может содержать любое количество заголовков, разделённых запятыми.

* (подстановка)

Значение "*" рассматривается только как специальное значение подстановки для запросов без аутентификации (запросы без 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, всегда разрешены и обычно не требуют перечисления в 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://foo.bar.org

Ответ

Если запрос CORS, указанный в предварительном запросе, авторизован, сервер ответит на предварительный запрос сообщением, в котором указаны разрешённый источник, методы и заголовки. Ниже мы видим, что Access-Control-Allow-Headers включает заголовки, которые были запрошены.

HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Origin: https://foo.bar.org
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Allow-Headers: Content-Type, x-requested-with
Access-Control-Max-Age: 86400

Если запрошенный метод не поддерживается, сервер ответит ошибкой.

Спецификации

Спецификация
Fetch Standard
# http-access-control-allow-headers

Совместимость с браузерами

Рабочий стол Мобильное устройство
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet
Access-Control-Allow-Headers
4
12
3.5
10
12
4
2
Да
4
12
3.2
Да
wildcard
63
79
69
Нет
50
Нет
63
63
Нет
46
Нет
8.2

См. также

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

© 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-Headers

Spec-Zone.ru

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