Какие знаешь CORS заголовки

«Какие знаешь CORS заголовки» — вопрос из категории Безопасность, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

CORS (Cross-Origin Resource Sharing) — механизм для безопасного междоменного взаимодействия. Основные заголовки:

Запрос (Request):

  • Origin — указывает домен, с которого пришел запрос (например, Origin: https://example.com).

Ответ (Response):

  • Access-Control-Allow-Origin — разрешенные домены (* для всех или конкретный домен).
  • Access-Control-Allow-Methods — разрешенные HTTP-методы (GET, POST и т.д.).
  • Access-Control-Allow-Headers — разрешенные заголовки запроса.
  • Access-Control-Allow-Credentials — разрешает передачу кук/авторизации (true/false).
  • Access-Control-Expose-Headers — заголовки, доступные клиенту.
  • Access-Control-Max-Age — время кеширования preflight-запроса (в секундах).

Пример ответа сервера:

Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Allow-Credentials: true