Sobes.tech
Middle+

CORS чист? Чӣ гуна кор мекунад? Фарқи байни дархостҳои оддӣ (GET, POST) ва дархостҳои пешакӣ (OPTIONS) чист? Вақте ки CORS дархостро мефиристад, ба чӣ назар мекунад?

sobes.tech AI

Ҷавоб аз AI

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, обеспечивая безопасность.