RIA プロキシが重要な理由

アプリケーションを、JavaScript API コンポーネントをホストするサーバーで直接ホストするのではなく、別のコンピュータでホストするには、同一生成元ポリシーをバイパスする手段が必要です。これは、特にアプリケーション開発時に役立ちます。通常、開発者は、コードをローカル コンピュータ上で実行したいからです。ローカル コンピュータでは、通常は localhost というホスト名かコンピュータ名を使用し、コントロールがあるサーバーのホスト名は異なるため、生成元は完全に異なります。

これを実現するため、プロキシを提供して、リクエストをリモート ホストに転送し、そのドメイン内に存在するようにブラウザに判断させます。Java プロキシは、Servlet 2.4 仕様以上を実装しているすべての Java サーブレット コンテナに展開できます。

プロキシは URL をパラメータとして取得してページを要求し、コンテンツを要求者に返すだけです。プロキシがローカル コンピュータであるサーバーのポート 80 にインストールされている場合、http://myserver:8765/some/path/example.html を呼び出して、Web ページ http://localhost/riaproxy?url=http://myserver:8765/some/path/example.html にアクセスできます。プロキシが送信する結果は、ターゲット URL に直接アクセスした場合と同じになります。重要な相違点は、ブラウザが 2 番目の URL を http://myserver:8765/ ではなくローカル ドメイン http://localhost/ の一部と見なすことです。インターネット URL の構文ルール (RFC 1738: Uniform Resource Locators を参照) に従って URL パラメータを正しくエンコーディングする必要があることに注意してください。