2011-09-13 19 views
1

attaskというプロジェクト管理サービスと通信するRESTクライアントを開発しています。JSONPを使用しない理由はありますか?

REST APIは、自分のコードで使いやすい単純なJSONを返すので便利です。このため、私はJQueryとのインターフェースを構築することにしました。私はすぐにSame Origin Policyのために自分のサイトのAJAXをアタスクAPIに使用できないことを発見しました。

私の最初の考えは、RESTSharpを使用してサーバー側のレストクライアントを開発することでした。これは、私のjavascriptとAttask APIの間のブリッジとして機能します。

その実装を開始する前に、私はJSONPを発見しました。あなたの多くはそれに精通していると確信していますが、それは私には新しいものです。 Attask APIはJSONPをサポートしていることが判明しました。 JQueryはJSONPをネイティブにサポートしていますので、私は突然、サーバー側の介入を必要とせずに完全なjQueryインターフェイスを作成することに戻ります。

私の質問は、JSONPを使用しない理由はありますか?余分なマイルに乗り、サーバー側のRESTクライアントを構築し、実際のAJAX呼び出しを使用することにはどんなメリットがありますか?

ご了承ください。

+0

私はJSONPが完璧にいいと思っていたでしょう。要求がサーバー上で要求または応答の処理を実行するようなものでない場合を除きます。また、サーバー上のAPIを使用すると、他のユーザーが処理している認証、パフォーマンス、スケーラビリティなどの問題が発生する可能性があります。 –

答えて

6

JSONPはまさにあなたが探しているものであることに留意してください:同じ原点ポリシーの回避策。これにより、同じ原点ポリシーが回避しようとしていたすべてのセキュリティ問題が発生します。利点は、あなたが信頼する特定のドメインを選択できることです。欠点は、そのドメインがあなたの信頼を侵害すると判断した場合、あなたのWebページで任意のJavaScriptコードを実行できるようになり、自分が望む情報を自分のサーバーに送ることができるということです。

あなたが信頼しているなら、それを求めてください。そうしない場合は、独自のサーバー側プロキシを設定します。

+0

非常に良い点!私はそれについても考えていませんでした。私はまた、彼らのAPIに対する認証は、ブラウザにプレーンテキストとしてクレデンシャルをレンダリングする必要があるため、大きな疑問点になることに気付きました。私がAttaskを信頼している間は、サーバ側の介入にはまだ十分なリスクと問題があると思います。フィードバックをお寄せいただきありがとうございます! – Chev