Не совсем понимаю досконально разницу, подскажите правильно ли я для себя определил отличия
Возьмем обычный GET: сайт с доменом abc.com подгружает картинку с домена xzc.com, и если на стороне сервера xzc.com нет защиты от хотлинка, то картинка загружается и отображается
Возьмем GET через XHR: Если на стороне сервера xzc.com не установлен заголовок Access-Control-Allow-Origin *
То картинка не загрузится, сервер вернет ошибку
В итоге, если не углубляться в разрешающие заголовки, а если обращаться к своему же домену то и заголовки не нужны
Вся разница в том что через XHR страничка обновляется в фоне динамически, без мигания страницы, верно?
Из этого вытекает другой вопрос, есть некий api url, если его запросить из домена по xhr то сервер будет проверять откуда совершен запрос и если разрешено то отдаст ответ
А если совершить прямой запрос из браузера? Или из допустим Paw или Postman, в таком случае домен отсутствует, как поведет себя сервер с api, или это все индивидуально настраивается
Хз что такое Paw, но Postman емнип проксирует запросы через свои сервера и CORS просто не срабатывает. Не помню ни одного случая, чтобы в постмане были проблемы с CORS.
Прямой запрос из браузера, который обходит Access Control Origin это запросы из флеш/silverlight/java applet или даже (вопрос исследования) запросы из xslt/svg/запрос кодеков или лицензии у avi... что еще может делать запросы к серверу самостоятельно.
Есть еще браузерные расширения и плагины, они работают из привилегированного контекста и так же могут обращаться куда угодно.