2009-05-08 9 views
2

Unter der Annahme, dass eine einseitige Anwendung anfänglich über HTTP zugänglich ist und AJAX für alle Serverinteraktionen verwendet, ist es möglich, HTTP für regelmäßige Datenübertragungen zu verwenden und dann zu AJAXian HTTPS-Anforderungen für sichere Datenübertragungen zu wechseln?Können Ajax HTTP und HTTPS Seite an Seite arbeiten?

Wenn ja, wie würde der Browser das Zertifikat und die Sperrbenachrichtigung verarbeiten, wenn eine HTTPS AJAX-Anfrage gestellt wurde?

Wenn dies nicht möglich ist, gibt es dann Problemumgehungen zum Mischen von AJAX HTTP und AJAX HTTPS innerhalb der gleichen Seite wie das Laden eines iFrame für HTTPS?

Danke!

Antwort

4

Der Versuch, Protokolle zu wechseln, verletzt die same origin policy.

Ich bin mir nicht sicher, wie eine Problemumgehung mit iFrames würde sich verhalten, aber ich denke, dass der Browser den Zugriff auf den Rahmen, der als HTTPS geladen wurde, wiederum aufgrund der gleichen Ursprungsrichtlinie blockieren.

+0

Der Browser-Zugriff blockieren würde, aber Sie können postmessage() in den neueren Browsern mit dem iframe zu kommunizieren. – Anne

0

Ich weiß, das ist ein alter Post, aber da ich hier von der Suchmaschine angekommen bin, wäre es ein wert zu verschütten, was ich gelernt habe.

Es ist möglich, etwas namens CORS zu verwenden, aber wie üblich hat altes MSIE Problem implementing it.

Es sollte wie das Versenden zusätzliche HTTP-Header einfach sein:

Access-Control-Allow-Origin: http://example.com:8080 http://foo.example.com 
Verwandte Themen