Стандарт CORS (Cross-Origin Resource Sharing) позволяет легко и непринуждённо осуществлять кросс-доменные AJAX-запросы и иметь полный контроль над тем, кому и как позволено это делать.
Всё это работает при помощи добавления новых HTTP-заголовков в ответ сервера, разрешающих тем или иным способом XHR с определённых доменов, IP адресов либо с определённой авторизацией (Cookie, HTTPAuth)
В http-заголовке ответа сервера можно явно указать, каким внешним доменам разрешено выполнять AJAX-запрос к нашему серверу:
Например, страница из домена my.name осуществляет XMLHttpRequest к серверу. В запросе необходимо указать заголовок Origin:
Если указанный Origin устраивает сервер, то он разрешает браузеру завершить запрос и получить ответ, добавляя в свой заголовок:
А также можно разрешить кастомные заголовки в запросах (Например, так пришлось сделать для работы библиотеки prototype):
Остальное тут.
Работает в большинстве современных браузеров (IE8+, FF3.5+, Chrome 6+ и Safari 4+)
Всё это работает при помощи добавления новых HTTP-заголовков в ответ сервера, разрешающих тем или иным способом XHR с определённых доменов, IP адресов либо с определённой авторизацией (Cookie, HTTPAuth)
В http-заголовке ответа сервера можно явно указать, каким внешним доменам разрешено выполнять AJAX-запрос к нашему серверу:
Например, страница из домена my.name осуществляет XMLHttpRequest к серверу. В запросе необходимо указать заголовок Origin:
Origin: http://my.name
Если указанный Origin устраивает сервер, то он разрешает браузеру завершить запрос и получить ответ, добавляя в свой заголовок:
Access-Control-Allow-Origin: http://my.name
А также можно разрешить кастомные заголовки в запросах (Например, так пришлось сделать для работы библиотеки prototype):
Access-Control-Allow-Headers: content-type,x-prototype-version,x-requested-with
Остальное тут.
Работает в большинстве современных браузеров (IE8+, FF3.5+, Chrome 6+ и Safari 4+)