Sobes.tech
Middle+

CORS nedir? Nasıl çalışır? Basit istekler (GET, POST) ile ön uç istekleri (preflight OPTIONS) arasındaki fark nedir? CORS, istek gönderirken neye bakar?

sobes.tech yapay zeka

AI'dan gelen yanıt

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

Как работает CORS: Когда веб-страница пытается сделать запрос к другому домену, браузер проверяет, разрешает ли сервер этого домена такие запросы. Сервер должен в ответе содержать специальные заголовки (например, Access-Control-Allow-Origin), которые указывают, какие источники (домены) могут обращаться к его ресурсам.

Простые запросы и предварительные (preflight) запросы:

  • Простые запросы — это запросы с методами GET, POST или HEAD и с определённым набором заголовков и типов контента (например, application/x-www-form-urlencoded). Для таких запросов браузер сразу отправляет основной запрос и проверяет ответ.
  • Предварительные запросы (preflight OPTIONS) — это запросы с методом OPTIONS, которые браузер отправляет перед основным запросом, если он не является простым (например, используется метод PUT, DELETE, или нестандартные заголовки). Цель — проверить, разрешает ли сервер такой запрос.

На что смотрит CORS при отправке запроса:

  • Заголовок Origin — указывает источник запроса.
  • Сервер в ответе должен вернуть Access-Control-Allow-Origin с разрешённым источником или *.
  • Для preflight запросов сервер также должен вернуть Access-Control-Allow-Methods (разрешённые методы) и Access-Control-Allow-Headers (разрешённые заголовки).

Если эти условия не выполняются, браузер блокирует доступ к ответу из JavaScript, обеспечивая безопасность.