クロスドメイン データ転送: JSONP とその起源を理解する JSONP (JSON with Padding) は、次の特定の問題に対する解決策として登場しました。 Web 開発の初期。 クロスドメインリクエストはブラウザのセキュリティ制限により禁止されていました。 Web サイトが別のドメインでホストされているデータやサービスにアクセスできないようにします。 JSONP は、の機能を利用することでこれを巧みに回避しました。 </p> <p><strong>JSONP の仕組み</strong></p> <p>JSONP を使用する場合、Web サイトはコールバック関数パラメーターを指定して、JSONP 対応サーバーにリクエストを作成します。サーバーは、指定されたコールバック名を使用して関数呼び出し内に JSON データをラップすることで応答します。</p> <p>たとえば、「callback」パラメーターを期待するサーバーへのリクエストは次のようになります。</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre>http://www.example.net/sample.aspx?callback=mycallback</pre><div class="contentsignin">ログイン後にコピー</div></div> <p>サーバーの JSONP 応答は次のようになります。</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre>mycallback({ foo: 'bar' });</pre><div class="contentsignin">ログイン後にコピー</div></div> <p>この応答は JavaScript として実行され、事前定義されたコールバックが呼び出されます。 </p> <p><strong>JSONP が作成された理由</strong></p> <p>JSONP は、Web サイトがクロスドメイン制限に違反することなく他のドメインのデータにアクセスする手段を提供するために作成されました。これにより、開発者はブラウザのセキュリティ プロトコルによって課せられる制限を克服できるようになりました。</p> <p>JSONP は古いブラウザをサポートするのに引き続き便利ですが、代替手段としての CORS (Cross-Origin Resource Sharing) の出現により、セキュリティ上の懸念からその関連性が低下しました。リクエスト処理の制限。それにもかかわらず、JSONP は依然として特定のクロスドメイン データ転送シナリオにとって貴重なツールです。</p>