31

JavaScript を介してクロスオリジン データを共有することになっているアプリケーションを開発するため、この質問をしています。考えられる解決策の 1 つは、JSONP のようです。これは、SCRIPT タグを使用して他のドメインからデータを取得するためです。ただし、SCRIPT タグが sop の対象ではなく、ある時点でブラウザーがこの機能を禁止するという前提で素晴らしいコードを実装するという状況は避けたいと思います。

SCRIPTタグがクロスドメインリクエストを許可する理由を誰かが明らかにすることはできますか?

4

2 に答える 2

8

「Same-Origin ポリシーの原則」というタイトルのこの草案は、(簡潔ではありますが) みんなの頭の中にあることをほぼ説明していると思います。

原則として、ユーザー エージェントはすべての URL を個別のプリンシパルとして扱い、ドキュメントがその URL を信頼することを明示的に示していない限り、各ドキュメントを他のすべての URL から分離できます。残念ながら、この設計は開発者にとって扱いにくいものです。なぜなら、Web アプリケーションは多くの場合、協調して動作する多数のリソースで構成されているからです。

概算として、ユーザー エージェントは URL をオリジンと呼ばれる保護ドメインにグループ化します。特に、スキーム、ホスト、およびポートが同じである場合、2 つの URL は同じオリジンの一部です (つまり、同じプリンシパルを表します)。

要するに、すべてが SOP の対象になると、Web を構築するのは非常に難しくなります。

于 2012-05-10T09:01:11.147 に答える
2

理由は遺留分です。何年も前にそのように構築されたものであり、現在変更されていると、あまりにも多くのサイトが機能しなくなるでしょう。さらに、セキュリティへの影響は、非常に長い間存在しているため、よく知られています。

于 2012-05-10T11:35:49.547 に答える