Browserkommunikation über Domaingrenzen hinweg

Raus aus der Sandbox: Das World Wide Web Consortium hat mit CORS eine Spezifikation freigegeben, die Webclient-Anfragen bei mehreren Domains erlaubt.

In Pocket speichern vorlesen Druckansicht 112 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Henning Behme

Mit einem neuen Standard, dem Cross-Origin Resource Sharing (CORS), definiert das World Wide Web Consortium (W3C) nach acht Jahren Diskussion, wie Browser über Domaingrenzen hinweg kommunizieren können – was die Same-Origin-Policy normalerweise verbietet. Mit dem XMLHttpRequest-Objekt können Autoren von Dokumenten (beziehungsweise Webmaster) auf meine-beispieldomain.de erlauben, dass Dokumente von eine-andere-beispieldomain.de sie einbinden. Dazu muss allerdings meine-beispieldomain.de den Zugriff entweder für alle anderen Domains ('*') oder für spezifische im Header freigeben:

Access-Control-Allow-Origin: http://eine-andere-beispieldomain.de

Andere Header definieren, welche Methoden für eine Anfrage erlaubt sind (Access-Control-Allow-Methods) oder wie lange Vorabanfragen, sogenannte Preflight Requests, im Cache verbleiben sollen (Access-Control-Max-Age). Monsur Hossain hat bei HTML5Rocks ein ausführliches Besipiel zusammengestellt. Die aktuellen Ausgaben der Browser beherrschen CORS schon, wie die Übersicht bei Caniuse.com zeigt – Internet Explorer vollständig ab Version 10.

Update, 20.1.2014, 10:35 Uhr: In der ursprünglichen Version war die Erlaubnis zum Zugriff falsch herum dargestellt. (hb)