dedlfix: Ajax: HTTP verweigert Aufruf von HTTPS

Beitrag lesen

problematische Seite

Tach!

Was ist eine CORS-Kopfzeile? Muss ich die dem Ajax-Aufruf voranstellen?

CORS-Header zu setzen kann auch bereits reichen. Damit erlaubt der Server dem Browser, von wo aus Scripts nachgeladen werden dürfen.

Beispielsweise zeigt ein Dokument mit dem HTTP-Header Access-Control-Allow-Origin: *dem Browser an, dass er von allen Quellen aus Ressourcen nachladen darf. Statt * kann da auch sowas wie https://example.com stehen.

Hier muss ich mich korrigieren. Es ist nicht das Dokument, dass erzählt, wo es überall hingreifen darf. Es ist stattdessen die einzubettende Ressource, die dem Browser erzählt, von wo aus sie eingebunden werden darf.

Eine Ajax-Response muss den Header Access-Control-Allow-Origin setzen und dabei die Domain (plus Protokoll) der Seite(n) angeben, die darauf zugreifen dürfen. Moderne Browser halten sich daran und verweigern auch gern mal den Zugriff komplett, wenn der Header fehlt. Oder sie liefern nur die Header an das aufrufende Script zurück und verwerfen den Inhalt. Statt einer Adresse (oder einer Liste) kann auch * angegeben werden, wenn von überall darauf zugegriffen werden darf, wenn also die Daten nicht nur für die eine Domain (oder die Liste) bestimmt sind.

dedlfix.