Pourquoi est-ce si important ?

Pour héberger des applications sur un autre poste que le serveur hébergeant les composants de l'API JavaScript, nous devons trouver un moyen de contourner la politique de même origine. Ce contournement est particulièrement utile lors du développement des applications, lorsque les développeurs souhaitent exécuter leur code sur un poste local. Le poste local utilise généralement un nom d'hôte et un hôte local, ou un nom de poste, et le serveur hébergeant les commandes porte un nom d'hôte différent ; il a par conséquent une origine entièrement différente.

Pour résoudre ce problème, un proxy, qui, pour le navigateur, semble être dans le même domaine, a été fourni pour transmettre les requêtes à un hôte distant. Le proxy Java peut être déployé vers n'importe quel conteneur Java servlet exécutant la spécification Servlet 2.4 ou une version supérieure.

Le proxy utilise simplement une URL comme paramètre et demande la page, renvoyant son contenu au demandeur. Étant donné que le proxy est installé sur un serveur d'une machine locale sur le port 80, vous pouvez accéder à la page Web http://myserver:8765/some/path/example.html en appelant http://localhost/riaproxy?url=http://myserver:8765/some/path/example.html. Le résultat envoyé par le proxy est identique à celui qu'il renverrait s'il accédait directement à l'URL cible. La différence importante réside dans le fait que la seconde URL est considérée par le navigateur comme une partie du domaine local http://localhost/ au lieu de http://myserver:8765/. Notez que, pour suivre les règles de syntaxe des URL Internet, le paramètre d'URL doit être correctement codé (conf. RFC 1738 : Localisateurs de ressources uniformes).