CORS

CORS (Cross-Origin Resource Sharing) — это механизм безопасности в браузерах, который контролирует, может ли веб-страница обращаться к ресурсам с другого домена.


Почему нужен CORS

По умолчанию браузеры запрещают запросы к другому домену (политика «Same-Origin Policy»). Например:

  • Страница загружена с https://siteA.com.

  • Она пытается получить данные с https://api.siteB.com.

  • Без разрешения сервер siteB.com — браузер заблокирует такой запрос.


Как работает CORS

  1. Клиент (браузер) отправляет запрос к другому домену.

  2. Браузер автоматически добавляет заголовок:

    Origin: https://siteA.com
  3. Сервер проверяет, разрешён ли этот источник, и отвечает:

    Access-Control-Allow-Origin: https://siteA.com

    или

    Access-Control-Allow-Origin: *
  4. Если заголовок разрешает доступ → браузер пропускает ответ, иначе блокирует.


Основные заголовки CORS

  • Access-Control-Allow-Origin — разрешённые домены.

  • Access-Control-Allow-Methods — какие методы (GET, POST, PUT…) можно использовать.

  • Access-Control-Allow-Headers — какие заголовки можно отправлять.

  • Access-Control-Allow-Credentials — можно ли передавать cookie.


Для QA важно

  • Проверять, что API правильно настроено для фронтенда.

  • Проверять доступ с разных доменов (разрешённых и запрещённых).

  • Тестировать preflight-запросы (OPTIONS), которые браузер отправляет перед «опасными» запросами (например, с PUT или кастомными заголовками).

Last updated

Was this helpful?