Spec-Zone.ru › HTTP

Заголовки: Access-Control-Allow-Credentials

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

Базовая поддержка Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Подробнее
  • Полная информация о совместимости
>

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

К учётным данным относятся файлы cookie, клиентские сертификаты Transport Layer Security (TLS) или заголовки аутентификации, содержащие имя пользователя и пароль. По умолчанию эти учётные данные не отправляются в междоменных запросах, а их отправка может сделать сайт уязвимым для атак межсайтовой подделки запросов (CSRF).

Клиент может запросить включение учётных данных в межсайтовые запросы несколькими способами:

  • С помощью fetch(), задав параметру credentials значение "include".
  • С помощью XMLHttpRequest, задав свойству XMLHttpRequest.withCredentials значение true.
  • С помощью EventSource(), задав свойству EventSource.withCredentials значение true.

Если учётные данные включены:

  • Для запросов с предварительной проверкой: предварительный запрос не содержит учётных данных. Если в ответе сервера на предварительный запрос заголовок Access-Control-Allow-Credentials имеет значение true, фактический запрос будет содержать учётные данные; в противном случае браузер сообщит об ошибке сети.
  • Для запросов без предварительной проверки: запрос будет содержать учётные данные. Если в ответе сервера заголовок Access-Control-Allow-Credentials не имеет значения true, браузер сообщит об ошибке сети.
Тип заголовка Заголовок ответа

Синтаксис

Access-Control-Allow-Credentials: true

Директивы

true

Сервер разрешает включать учётные данные в междоменные HTTP-запросы. Это единственное допустимое значение для этого заголовка; оно чувствительно к регистру. Если учётные данные не нужны, полностью опустите этот заголовок, а не задавайте ему значение false.

Примеры

Разрешение на отправку учётных данных:

Access-Control-Allow-Credentials: true

Использование fetch() с учётными данными:

fetch(url, {
  credentials: "include",
});

Использование XMLHttpRequest с учётными данными:

const xhr = new XMLHttpRequest();
xhr.open("GET", "http://example.com/", true);
xhr.withCredentials = true;
xhr.send(null);

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

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

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

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
Access-Control-Allow-Credentials 4 12 3.5 12 4 18 4 12 3.2 1.0 2 3.2

См. также

  • XMLHttpRequest.withCredentials
  • Request()

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

Spec-Zone.ru

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