Cross-Origin Resource Sharing

Cross-Origin Resource Sharing (CORS) ist ein Protokoll, das es Browsern erlaubt, AJAX-Anfragen über Domänengrenzen hinweg durchzuführen.

Eine Anfrage kreuzt dann eine Domänengrenze, wenn das Ziel der Anfrage ein anderer Server ist als jener, der die Seite ausgeliefert hat, aus der die Anfrage abgesetzt wird.

Beim CORS Protokoll kann vor der eigentlichen Anfrage eine Anfrage mit der Methode OPTIONS an den Server gesendet werden. Diese enthält in der Kopfzeile Origin die URL des Servers, der die Seite ausgeliefert hat.

In der Antwort muss die Kopfzeile Access-Control-Allow-Origin diese URL wiederholen, damit die eigentliche Anfrage erlaubt wird. Ggf. müssen noch weitere Kopfzeilen geliefert werden, z.B. Access-Control-Allow-Headers: content-type.

Wurde die Seite von einer https-URL gelesen, muss das Ziel der Anfrage ebenfalls eine https-URL besitzen.

Nur für Entwicklungszwecke kann diese Sicherheitsprüfung in Firefox mit der Einstellung security.mixed_content.block_active_content auf false in about:config ausgeschaltet werden.


Links

https://de.wikipedia.org/wiki/Cross-Origin_Resource_Sharing
http://www.html5rocks.com/en/tutorials/cors/