JSON против XML. Требуется ли для XML «локальный прокси»? Что это такое? - PullRequest
0 голосов
/ 18 ноября 2010

Я читаю эту статью, в которой сравнивается XML с JSON, а в разделе комментариев пользователь упоминает о необходимости использовать «локальный прокси» для доступа к XML.

Может кто-нибудь объяснить, что означает локальный прокси в этом контексте? Я предполагаю, что он имеет в виду Javascript, но я открыт для понимания того, какие парсеры доступны на других языках (C # и т. Д.)

Ответы [ 2 ]

2 голосов
/ 18 ноября 2010

JavaScript имеет Политика происхождения того же , которая запрещает вам доступ к контенту из других доменов. Это лишает объект XMLHttpRequest возможности извлекать содержимое файла XML из другого домена.

Локальный прокси-сервер - это простой файл, который просто перенаправляет запрос из вашего домена в другой домен и извлекает содержимое. Таким образом, выполняется та же самая политика orgin.

Причиной, по которой JSON не ограничивается, является то, что на файлы JavaScript, Image и CSS можно ссылаться из других доменов. Поскольку файлы JavaScript можно загружать из других доменов, мы можем использовать JSONP (JSON with Padding) для получения содержимого.

Большинство людей согласны с тем, что JSONP небезопасен, поскольку любой контент может быть вставлен в файл JavaScript. Вы просто должны доверять своему источнику, что они не будут вставлять в веб-страницу плохой контент (рекламу, всплывающие окна, отслеживание и т. Д.).

2 голосов
/ 18 ноября 2010

Это связано с JSONP (как утверждает пользователь в своем комментарии), который в основном определяет способность JavaScript выполнять все, что предусмотрено в удаленном источнике <script src="http://url.com/file"></script>, и дает браузеру возможность извлекать данные из удаленных источников.

Мне сам термин JSONP не нравится, так как вы также можете выполнять XML, поэтому комментарий пользователя на самом деле неверен. Вы можете вернуть что-то вроде run('<some xml></some xml>') на свой сервер, а затем использовать встроенный JavaScript-парсер XML для получения нужных вам данных - это не обязательно должен быть JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...