CORS (Cross-Origin Resource Sharing) — это механизм безопасности в веб-разработке, который позволяет или запрещает веб-браузерам делать запросы на серверы, находящиеся на другом домене. 2
Процесс работы CORS включает несколько этапов: 3
- Предварительный запрос. 13 Когда браузер хочет получить данные с сервера другого домена, он сначала отправляет предварительный запрос. 3 По сути это проверка разрешения, в которой браузер спрашивает сервер другого домена: «Могу ли я сделать запрос с таким методом и такими заголовками?». 3
- Ответ сервера на предварительный запрос. 3 Если сервер настроен с CORS, он ответит на предварительный запрос, направив обратно соответствующие механизму заголовки. 3 Например, заголовок Access-Control-Allow-Origin может содержать домен, с которого пришёл запрос, указывая браузеру, что запросы с этого источника разрешены. 3
- Основной запрос. 3 Если сервер дал разрешение в виде заголовков CORS, браузер выполняет основной запрос, ожидая получить данные. 3 Тут сервер снова включает заголовки CORS в свой ответ, чтобы браузер мог подтвердить разрешение и обработать данные. 3
CORS нужен для того, чтобы сайты могли безопасно обмениваться данными друг с другом. 1 Например, если один веб-сайт хочет загрузить картинки или информацию с другого сайта, без CORS браузер не разрешит это сделать напрямую из соображений безопасности. 1 CORS как бы говорит браузеру: «Этот сайт проверен, и он может безопасно отправлять нам картинки, видео или данные». 1
Важно понимать, что технологию CORS должен поддерживать как приёмник данных (веб-браузер), так и источник (веб-ресурс). 4