CORS (Cross-Origin Resource Sharing)
Зачем
- Механизм, используемый веб-браузерами для разрешения запросов на доступ к ресурсам/данным на другом домене, различном от текущего домена, на котором расположен код, запрашивающий эти данные.
- То есть, если сайт A запрашивает данные с сайта B, который находится на другом домене, браузер отправляет запрос на сайт B для получения ответа на запрос. CORS позволяет серверу сайта B указать, разрешено ли сайту A делать такие запросы и какие запросы разрешены.
- CORS помогает защитить пользователей от несанкционированного доступа к данным, но может вызвать проблемы с безопасностью и доступностью веб-приложений, если не настроен правильно.
- Механизм, использующий дополнительные HTTP-заголовки, чтобы дать возможность агенту пользователя получать разрешения на доступ к выбранным ресурсам с сервера на источнике (домене), отличном от того, что сайт использует в данный момент.
- Говорят, что агент пользователя делает запрос с другого источника (cross-origin HTTP request), если источник текущего документа отличается от запрашиваемого ресурса доменом, протоколом или портом. Пример: http://domain-a.com, запрашивает src по адресу http://domain-b.com/image.jpg
- Origin - Web content’s origin is defined by the:
- scheme (protocol)
- hostname (domain)
- and port of the URL used to access it
- Two objects have the same origin only when the scheme, hostname, and port all match.
- CORS между доменами