はい。
アンサーから書き始めると「その例えは、GETとPOSTの考え方の例え」になります。
しかし、100文字で収まるような話ではないので、続きます。(約1700文字あります)
※時間がある時に、もう少し記事を補強します。
まずは、「どの環境で」「何を」「どのように」「どう結果を得たいのか」を整理しないと、何とも言えないやつなのですが、とりあえずWebと書いてあるので、ブラウザ基準で考えると色々資料が出てくるので、それに合わせます。
上記のページは、言い換えると
はてなハイクや匿名ダイアリー(増田)で、何か文字を書いて「投稿」するボタンを押せば、データが送信されて、誰でも読めるようになる
という仕組みの説明です。
まずは、データを手元からサーバへ送り出す(送信・リクエスト)部分を図にしてみましょう。
クライアント(この絵ではブラウザ)からサーバにデータを送る部分ですが、幾つかの方法があります。
- GET
- POST
- PUT
- DELETE
- (その他の環境による色々)
MDNの記事本文にもあるGETとPOSTで見てみましょう。
例えば、PHPの場合ではPOSTのみ扱う変数「$_POST」、GETのみ扱う「$_GET」、そして両方(とcookie)を扱う「$_REQUEST」があります。
- GETメソッドで送られてきた場合は「$_GET」と「$_REQUEST」
- POSTメソッドで送られてきた場合は「$_POST」と「$_REQUEST」
でデータを取り扱う事ができます。「$_REQUEST」が便利そうなので、受け取り側はそのような仕組みを使うと良いかもしれません。
という事を約100文字で書いたものがブックマークコメントになります。
送信・リクエストについては一旦ここまでにしておき、サーバからの返答(応答・レスポンス)を見てみましょう。
レスポンスの際には、受け取った際のステータス(200や404、500など)と一緒に、人間やブラウザ側のスクリプトが理解できるデータを応答します。
データを受け取ったブラウザは、文字列や画像であれば表示し、JSONP等のデータであれば、スクリプト等の適切な相手に渡します。
受け取ったデータがJSONPであれば、対応する関数へ渡されます。
ん?何だか話が飛んでない?
そもそもJSONPってどういう仕組み?
例えば、ブラウザ側のJavaScriptでPOSTを使ったリクエストを行うとします。
※一例として、jQueryではAjaxという方法があります。
リクエストを送ると、大抵はレスポンスとして何かが返ってきますので、受け取ります。
受け取ったものがJSONであった場合、対応する関数にJSONの中身となるデータを与える事ができます。
そして、JSONPとする事で、別のドメインでも扱えるようになります。(が、Ajax使うなら別にJSON「P」じゃなくても良いのでは?と感じると思います。)
所感
話を戻して。
POSTに統一しておけば、サーバログにクエリ文字列が出てこない等、色々あるかと思います。
結論として、POSTでJSONは出来るのでしょうか?
※ハイクはJSONですが、元記事はJSONPなので、そちらに合わせます。
「POSTのJSONP」が正直よく分からないのですが、文章の全体を読んで想像すると、
- POSTを使ってリクエスト(検索ワード)を送って
- JSONPで受け取りたい
というお話なのかな?と思ったやつでした。
もし本当に「そうではなくて、リクエストがJSONPのフォーマットなのです」というのなら、方法は多分あるのですがそれは別に何かのクエリとしてJSONフォーマットとして送れば良いのでは?と思ったやつです。Fileとして送っても良いのですが難解になるだけであり、面倒ですよね。
やはり、何をどう送って、どう受け取りたいのか。を詰めないとダメそうなお話でした。
人力検索なりスタックオーバーフローなり、みんな大好き知恵袋なり、色々ありますので、15分悩んだ場合は身近なところからパブリックなところまで、色々聞いてみると良いのではないかな と思うやつです。
という事をお伝えください。 id:aukusoe さん
くまやつ。