0

JavaScript Ajax XHR 呼び出しを使用して動的データを取得する Web サイトを設計しています。

独自のポートでデータを提供する 2 つの C++ ベースのアプリケーションがあり、それらが使用するポートを制御しています。

動的データは HTTP 1.1 要求で要求され、データは HTTP 1.1 ヘッダーで返され、ヘッダー データを制御できます。事実上、動的データ アプリケーションにカスタム HTTP サーバーが組み込まれているので、会話の両端を完全に制御できます。

動的データを提供するために 2 つの任意のポートを選択した場合、ブラウザベースのユーザーは、私の Web ページからの要求を許可するために、ファイアウォールでそれらのポートを開く必要がありますか?

たとえば、Web ページは www.mydomain.com/default.aspx として提供され、その中には、www.mydomain.com:8080 および www.mydomain.com:8081 への接続を確立するための Ajax XHR 呼び出しがあります (または任意のポート番号が選択されます)。

同じオリジン ポリシーによってブロックされますか?

ファイアウォールで開かれていることが多いが、サーバーで積極的に提供されていないポートを使用することはできますか?

ユーザーがファイアウォールを変更する必要がなく、クロス ドメインの警告を受け取らないようにするには、これを回避する最善の方法は何ですか? 可能であれば iFrame を使用しないことを望んでいます。

このトピックは以前に尋ねられた可能性があります。徹底的に検索しましたが、一致するものは見つかりませんでした。

4

1 に答える 1

0

ウィキペディアは、同じスキーム、ホスト、およびポートを維持する必要があると述べていますが、名前のないブラウザーの中にはポートを強制しないものがあることに注意してください。

http://en.wikipedia.org/wiki/Same_origin_policy

スキームは HTTP に似ています。

ホスト名は my.yahoo.com のようなものですが、ブラウザーによっては ???.yahoo.com にアクセスできる可能性があります。

ポートは明確ですが、HTTP と HTTPS はデフォルトで異なるポートを使用していることに注意してください。

このページは興味深いです:

http://www.w3.org/Security/wiki/Same_Origin_Policy

于 2013-01-10T17:14:03.563 に答える