RFZ: AJAX Request auf einen anderen Port

Beitrag lesen

mein von localhost:80 stammendes JavaScript soll ein Request auf localhost:8080 machen. Die Sicherheitseinschränkungen verbieten das, weshalb ich ein Request auf localhost:80/Redir mache, womit die URL auf localhost:8080 umgeschrieben wird (das ist eine in den IIS eingebaute Funktion).

Wenn du mal nach der TheSameOrigin Policy googlest, wirst du feststellen dass der IE der einzige Browser ist, der den Port bei der Rechtevergabe nicht beachtet. Im IE wirst du also generell einfach einen anderen Port ansprechen können, in anderen Browsern wird das nicht gehn.

Einen Redirect zu verwenden ist hier schwachsinnig und führt auch zu keinem Ergebnis, ein Redirect ist genausowenig vertrauenswürdig wie eine beliebige Host-Angabe in deinem Quelltext, was du direkt nicht ansprechen kannst, kannst du auch durch den Redirect nicht ansprechen.

Wenn ich nun die Response mittels alert() ausgebe, funktioniert das im IE wunderbar. Der FireFox jedoch meint den Benutzer informieren zu müssen, dass das Dokument umgezogen ist und überklatscht mir die Reponse. Das Ergebnis: Statt meinem Datenstring steht in der Alert-Box "This document has been moved to: ..."

Einer der Browser verhält sich hier falsch, und ich würde mal behaupten der IE macht das. Müsste man in der Spezifikation nachlesen, ob ein XHTTPRequest einem Redirect direkt folgen soll. Der IE macht es wohl, der FF zeigt dir schlichtweg das was die URL die du ihm genannt hast zu bieten hat, und das ist nunmal diese Meldung. Das ist keine vom FF generierte Meldung, sondern von deinem Webserver.

Wie kann ich dieses Problem umschiffen?

Am besten wäre wohl, den Port nicht zu wechseln ;)
Ob Zugriffe auf andere Ports möglich sind, weiß ich bei JS nicht, Flash/Java erlauben das über entsprechende Policy Dokumente.