Sobes.tech
Junior — Middle
68

Можете пояснить, что такое междоменные HTTP-запросы через CORS и зачем они нужны?

Компании, где спрашивали
GGSel

Ответ от нейросети

sobes.tech AI

Междоменные HTTP-запросы (Cross-Origin Requests) — это запросы, которые браузер отправляет с одного домена (источника) на другой. Например, если веб-страница загружена с https://example.com, а она пытается сделать запрос к API на https://api.example.org, это считается междоменным запросом.

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

CORS работает так: при междоменном запросе браузер отправляет предварительный запрос (preflight) OPTIONS, чтобы узнать, разрешает ли сервер такой запрос. Сервер отвечает с заголовками, которые указывают, разрешены ли методы, заголовки и домены. Если разрешено, браузер выполняет основной запрос.

Это нужно, чтобы обеспечить безопасность и при этом позволить легитимным приложениям взаимодействовать с API на других доменах.

Пример заголовков ответа сервера для разрешения CORS:

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