В чем разница между CORS и CSP

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

Ответ

CORS (Cross-Origin Resource Sharing) — механизм, разрешающий запросы между разными доменами. Сервер указывает в заголовках (Access-Control-Allow-Origin), какие источники могут к нему обращаться. Например:

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

CSP (Content Security Policy) — защита от XSS и других атак, ограничивающая загрузку ресурсов (скриптов, стилей и т.д.). Задается через HTTP-заголовок или метатег:

Content-Security-Policy: default-src 'self'; script-src 'unsafe-inline'

Разница:

  • CORS контролирует кросс-доменные запросы
  • CSP ограничивает источники загружаемого контента на странице