2009-05-08 9 views
2

En supposant qu'une application de page unique accédée initialement via HTTP utilise AJAX pour toutes les interactions de serveur, est-il possible d'utiliser HTTP pour les transferts de données réguliers et de passer aux requêtes HTTPS AJAXian pour des transferts de données sécurisés?Est-ce que Ajax HTTP et HTTPS peuvent fonctionner côte à côte?

Si oui, comment le navigateur gérerait-il le certificat et la notification de verrouillage lorsqu'une requête HTTPS AJAX a été faite?

Si ce n'est pas possible, alors existe-t-il des solutions de contournement pour mélanger AJAX HTTP et AJAX HTTPS dans la même page, comme le chargement d'un iFrame pour HTTPS?

Merci!

Répondre

4

Toute tentative de changement de protocole enfreindra le same origin policy. Je ne suis pas sûr comment une solution de contournement utilisant iFrames se comporterait, mais je pense que le navigateur peut bloquer l'accès au cadre qui a été chargé comme HTTPS, encore une fois en raison de la même politique d'origine.

+0

Le navigateur bloque l'accès, mais vous pouvez utiliser postMessage() dans les navigateurs plus récents pour communiquer avec le iframe. – Anne

0

Je sais que c'est vieux poste mais depuis que je suis arrivé ici par le moteur de recherche ce serait une valeur de déverser ce que j'ai appris.

Il est possible d'utiliser quelque chose appelé CORS mais comme d'habitude l'ancien MSIE a un problème implementing it.

Il doit être simple que l'envoi d'en-têtes HTTP supplémentaires:

Access-Control-Allow-Origin: http://example.com:8080 http://foo.example.com 
Questions connexes