CSSHttpRequest: Cross-Domain Ajax
Das „Sandbox“-Sicherheitsmodell ist aus der JavaScript-Welt kaum wegzudenken. Die Skripte der jeweiligen Websites laufen zwar im selben Browser, können aber nicht aufeinander zugreifen, um Daten auszutauschen. Zwar schützt diese „Same Origin Policy“ [12] vor Missbrauch durch böswilligen Code, doch viele Entwickler wünschen sich einen dienstorientierten Ansatz, der auch asynchrones JavaScript (à la XMLHttpRequest) über die Grenzen des aktuellen Kontextes (Domain) hinaus möglich macht.
Neben dem bereits länger bekannten JSONP [13] bietet das sehr kompakte CSSHttpRequest [14] eine Lösung. Durch Aufruf einer JavaScript-Methode schickt der Browser eine GET-Anfrage an einen Webserver (ggf. außerhalb der eigenen Domain). Ein Skript (z. B. PHP) nimmt diese entgegen und liefert jeweils zwei Kilobyte große Häppchen nach dem Schema „@import url(about:chr:Hello%20World!);“ zurück, die an eine vom Entwickler zu definierende Callback-Methode übergeben werden. Eine simple, aber kreative und effektive Art, um serialisierte Daten über Domain-Grenzen hinweg zu transportieren.


Tom Hensel ist seit Ende der neunziger Jahre in den Bereichen Web- und Anwendungsentwicklung, UNIX-Systemadministration und Embedded Appliances aktiv. Für das Hamburger Unternehmen Elephant Seven (Pixelpark AG – www.e-7.com) leitet er den Bereich Flash-Entwicklung und ist als technischer Berater tätig.


