- ベストアンサー
GETのメリットについて
GETとPOSTでデータの受け渡しができるのは知っているのですが、 POSTのメリットは、データの受け渡しが見えないところで行われている。 (GETのようにアドレスにパラメーターが付き、値が見えたりしない。) ということが、インターネットや本で調べればわかったのですが、 GETを使用するメリットって何なのでしょうか? GETを使うメリットを教えて頂けないでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! 私見ですが、GETの威力はアクセスログで発揮されます。 具体的にはこうです。 (1)127.0.0.1 - - [03/Apr/2012:17:45:53 +0900] (略) "http://127.0.0.1/****/prog3.php" (2)127.0.0.1 - - [03/Apr/2012:17:45:55 +0900] (略) "http://127.0.0.1/****/prog4.php?code0=2598569&year0=12&month0=04&day0=03&year1=12&month1=04&day1=30" (1)はPOSTなのでどんなデータを送信したか不明ですが (2)ならこんなデータを送った→あなたは何時何分にこんなオペレーションをしましたね。と言うことができます。 クライアントが増えるほど「何をやったか忘れたけどデータが変になった!」なんてコールや(言葉は悪いですが)不正アクセス狙いの異常な値入力も増えます。 そんなときの対処やもちろんバグの発見も容易になるのです。 また、GET送信だとアドレスに値を埋め込める(=テキストデータで編集してアドレスバーへ貼り付け)のでデバッグも楽です。 テストのときにいちいちフォームに値を打ち込む手間から逃れられます。 10以上のフォームに値入力するのはやってみると結構面倒で、結果デバッグに抜けが出たりします。 IEでアドレスバーが隠せなくなってからは逆にクライアントに送信内容が丸見えになってしまうので、私は検索フォームに使っても入力フォームには使いません。 SSL通信にしたりツールバーやメニューバーを無効にしたり、余計な気を遣うことと、それでもセキュリティ面に不安を残すデメリットも忘れないでくださいね。 kureakaiさんはこれからwebアプリを作ろうとされているのですか? やりはじめて面白くなればハマりますよ!がんばって!
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
パラメータ設定をリンクに埋め込めるのが一番大きいですね クライアントサイドから言えばパラメータ付きブックマークが とっておけるのは有利でしょう
お礼
>パラメータ付きブックマークがとっておけるのは有利でしょう 確かにおっしゃられる通りです。 これも意外でした。 ご教授ありがとうございました。
- shimix
- ベストアンサー率54% (865/1590)
form要素を書かなくてもanchor要素を生成すればいいので、他に教えるときにURLで示せます(Blogなどで記事番号を引き渡しているものなど)。 #ページ番号などで、いちいちform要素を生成するのは面倒ですしねぇ(汗 あと、リロード時に再送信するかどうかの問い合わせなどが発生しないというのもありますね。
お礼
>リロード時に再送信するかどうかの問い合わせなどが発生しないというのもありますね。 これ、気づきませんでした。 もしかして、POSTのアドレスページ更新時に問い合わせが出てきてたのでしょうか…。 GETのときは、アドレスで値が指定されているから。出てこないんですね。 ご教授ありがとうございました。 大変参考になりました。
お礼
>(2)ならこんなデータを送った→あなたは何時何分にこんなオペレーションをしましたね。と言うことができます。 確かに、おっしゃられる通りですね。 納得できました。 >10以上のフォームに値入力するのはやってみると結構面倒で、結果デバッグに抜けが出たりします。 これもその通りですね。GETにこんな使い方のメリットがあったなんて気づきませんでした。 ご教授ありがとうございました。 大変参考になりました。