Есть ли причина не использовать JSONP? - PullRequest
1 голос
/ 14 сентября 2011

Я разрабатываю клиент REST, который будет общаться со службой управления проектами под названием attask .

Их REST API удобен, потому что он возвращает простой JSON, который легко использовать в моем коде. Из-за этого я решил построить интерфейс с помощью jQuery. Я быстро обнаружил, что не могу использовать AJAX со своего сайта в API-интерфейс Attask из-за политики одинакового происхождения .

Моей первой мыслью было разработать клиент для отдыха на стороне сервера с использованием RESTSharp , который бы служил мостом между моим JavaScript и API Attask.

Прежде чем я смог начать работать с этой реализацией, я обнаружил JSONP . Это ново для меня. Оказывается, Attask API поддерживает JSONP. JQuery изначально поддерживает JSONP, так что внезапно я вернулся к созданию полного интерфейса JQuery без необходимости вмешательства на стороне сервера.

У меня вопрос: есть ли причина не использовать JSONP? Будет ли какая-то польза от прохождения лишней мили и построения REST-клиента на стороне сервера и использования реальных вызовов AJAX?

1 Ответ

6 голосов
/ 14 сентября 2011

Помните, что JSONP - это именно то, что вам нужно: обходной путь для политики единого происхождения.С этим придут все проблемы с безопасностью, которых должна была избежать политика единого происхождения.Плюс в том, что вы можете выбрать конкретный домен, которому доверяете.Недостатком является то, что если этот домен решает нарушить ваше доверие, теперь он может запускать произвольный код javascript на ваших веб-страницах, позволяя им отправлять любую информацию на свои собственные серверы.

Если вы им доверяете, переходитедля этого.Если вы этого не сделаете, настройте свой собственный прокси на стороне сервера.

...