2010-11-18 16 views
0

XMLをJSONと比較する記事thisを読んでいます。コメントセクションでは、XMLにアクセスするために「ローカルプロキシ」を使用する必要があることをユーザーが説明しています。JSON対XML - XMLには「ローカルプロキシ」が必要ですか?それは何ですか?

このコンテキストでローカルプロキシとは何か説明できますか?私は彼がJavascriptを意味していると仮定していますが、他の言語(パーサなど)で利用できるパーサーを理解することができます。

+0

[AJAX or AJAJ?](http://izlooite.blogspot.com/2010/05/ajax-or-ajax-xml-vs-json.html) –

答えて

2

JavaScriptにはSame Origin Policyがあり、他のドメインのコンテンツにアクセスすることはできません。これにより、XMLHttpRequestオブジェクトは、他のドメインからXMLファイルの内容を取得できなくなります。

ローカルプロキシは、ドメインから他のドメインへの要求を再ルーティングしてコンテンツを取得する単なるファイルです。このようにして同じorginポリシーが満たされます。

JSONが制限に達しない理由は、JavaScript、Image、CSSファイルが他のドメインから参照できるためです。 JavaScriptファイルは他のドメインからロードできるため、JSONP(パディング付きのJSON)を使用してコンテンツを取得できます。

JavaScriptファイルにコンテンツを挿入できるため、ほとんどの人はJSONPが安全でないことに同意します。あなたは、悪意のあるコンテンツ(広告、ポップアップ、トラッキング用のものなど)をウェブページに注入しないことをあなたのソースから信頼する必要があります。

2

これはJSONPに関連していますリモートソース<script src="http://url.com/file"></script>で提供されているものを実行するJavaScriptの能力を定義し、ブラウザにリモートソースからデータを取得する機能を提供します。

私もJSONPという言葉が好きではありません。あなたもXMLを実行できるので、実際にはユーザーのコメントは間違っています。サーバー上にrun('<some xml></some xml>')のようなものを返してから、組み込みのJavaScript XMLパーサを使用して必要なデータを取得することができます。これはJSONである必要はありません。

関連する問題