Междудомейн AJAX, бележки за разработчици

Когато ме попитаха как да направя AJAX заявка към друг домейн, аз винаги отговарях, че няма начин, и предлагах jsonp, proxy, flash, frame като алтернатива. Но се оказва, че повечето съвременни браузъри (IE8 +, FF3.5 +, Chrome 6+ и Safari 4+) поддържат много добре домейн XMLHTTPRequest доста добре.

От страна на клиента всичко остава непроменено. Едва сега браузърът не блокира заявката при изпращане, но добавя към нея заглавка с името на домейна, откъдето е направена заявката: Произход: example.com

Той не предава отговора от сървъра толкова лесно обратно, сървърът трябва да добави специална заглавка: Access-Control-Allow-Origin: *
Вместо звездичка сървърът може да посочи конкретен домейн, на който е позволено да получи отговор.

Ето едно елегантно решение. Без излишни HTTP заявки, без промяна на клиентския API, без нарушаване на сигурността на съществуващите приложения (в края на краищата можете да качите снимка от друг домейн или да изпратите формуляр в iframe преди) и накрая, за разлика от Flash, с гъвкава конфигурация на права за достъп до отделни страници.