JSONP の変更点


#author("2021-11-15T02:33:27+00:00","default:k1rou","k1rou")
#author("2021-12-14T15:26:12+09:00","default:k1rou","k1rou")
*JSONP とは [#r864d953]
**名称 [#ld65c1a7]
-[[JSON]] with Padding

**概要 [#rcc7fef3]
-JavaScriptと[[JSON]]を使って[[クロスドメイン通信]]を行う手法。
-通常、[[XMLHttpRequest]]では[[クロスドメイン通信]]ができないが、複数ドメインのJavaScriptファイルを取得できるScript要素<script>を使って、[[クロスドメイン通信]]ができるようにする手法。
-JSONPのセキュリティ上のリスクを低減する技術として、[[CORS]]がある。

*仕掛け [#o18e543b]
-JavaScriptの関数の引数としてJSONを指定する。
-呼び出し元のページにscript要素<script>を用意して、srcに別ドメインのURLのパラメータでJavaScriptの関数を指定する。
-ページが読み込み時にJavaScriptの関数が呼び出され、JSONのデータが渡される。
-HTTPリクエストのContent-Typeに指定するメディアタイプは、application/javascript。(application/jsonではない)

*理屈 [#l4296a2d]
-[[XMLHttpRequest]]は、同一ドメインにしかアクセスできない。
-[[Webブラウザ]]の[[SOP]](Same Origin Policy:同一生成元ポリシー)による。

*関連用語 [#n9d8518f]
-[[SOP]]
-[[YAML]]
-[[WebSocket]]
-[[XHR2]]
-[[インラインJSONP]]