Все современные браузеры поддерживают CORS, и отныне мы должны использовать это дополнение.
Он работает по простой методике рукопожатия, когда два домена общаются друг с другом через отправленные / полученные заголовки HTTP. Это было долгожданным, поскольку такая же политика происхождения была необходима, чтобы избежать XSS и других злонамеренных попыток.
Чтобы инициировать перекрестный запрос, браузер отправляет запрос с HTTP-заголовком Origin. Значением этого заголовка является сайт, который обслуживал страницу. Например, предположим, что страница на http://www.example -social-network.com пытается получить доступ к данным пользователя в online-personal-calendar.com. Если браузер пользователя реализует CORS, будет отправлен следующий заголовок запроса:
Происхождение: http://www.example -social-network.com
Если online-personal-calendar.com разрешает запрос, он отправляет заголовок Access-Control-Allow-Origin в своем ответе. Значение заголовка указывает, какие сайты происхождения разрешены. Например, ответ на предыдущий запрос будет содержать следующее:
Access-Control-Allow-Origin: http://www.example -social-network.com
Если сервер не разрешает запрос на отправку из разных источников, браузер выдаст ошибку на страницу example-social-network.com вместо ответа online-personal-calendar.com.
Чтобы разрешить доступ ко всем страницам, сервер может отправить следующий заголовок ответа:
Access-Control-Allow-Origin: *
Однако это может не подходить для ситуаций, в которых безопасность вызывает беспокойство.
Очень хорошо объяснено здесь на вики-странице ниже.
http://en.wikipedia.org/wiki/Cross-origin_resource_sharing