JavaScriptでJSONを扱っていた際に、APIを引っ張る時に基本はPHPだけどJSONPだとJavaScriptで行けるよ!って書いてありました。
jsonpってなに???と初心者の私は思ったのでちゃんと調べました。
目次
JSONとは
「JavaScript Object Notation」の頭文字をとって、JSONとかきます。
データの書き換えが簡単で構造化されたデータになっており、JavaScriptのオブジェクト表記法に由来するデータの記述方式となっています。
特徴としては以下の2点。
- データが軽量であること
- 書き換えが簡単で、加工が簡単なこと
他のテーブル的にデータを扱う、CSVやXMLと比べるとJSONが明らかに簡単な構造をしていると感じます。
JSONPとは
「JSON with padding」から、JSONPとかきます。with paddingってなんなの?といのは、Paddingは本来不要なものを付け足してますよって意味になるようです。
JSONとの違いとしては、クロスドメイン( 異なるドメイン間 )環境でのやり取りが可能なこと。このクロスドメインのやり取りについては、JSONPに変わりCORSがあるようです。(日本語あってる?)
JavaScriptでAPIを扱う際に、クロスドメイン環境であることがほとんどなのでJSONPを使うことが多いですね。
JSONPはセキュリティ的に気を付ける点がある
JSONPに限った話ではないと思うのですが、調べていると気を付ける点が多いですね。
すごくわかりやすく解説していただいている記事がありましたので共有
https://blog.ohgaki.net/stop-using-jsonp
JSONとJSONPは別物
わからないことをちゃんと調べてよかったと思います。
またわからないことが出てくると思いますし、いま調べたことで間違うこともあるかもしれませんが、今後も勉強していきます。