• ベストアンサー

GETのメリットについて

GETとPOSTでデータの受け渡しができるのは知っているのですが、 POSTのメリットは、データの受け渡しが見えないところで行われている。 (GETのようにアドレスにパラメーターが付き、値が見えたりしない。) ということが、インターネットや本で調べればわかったのですが、 GETを使用するメリットって何なのでしょうか? GETを使うメリットを教えて頂けないでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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アプリを作ろうとされているのですか? やりはじめて面白くなればハマりますよ!がんばって!

kureakai
質問者

お礼

>(2)ならこんなデータを送った→あなたは何時何分にこんなオペレーションをしましたね。と言うことができます。 確かに、おっしゃられる通りですね。 納得できました。 >10以上のフォームに値入力するのはやってみると結構面倒で、結果デバッグに抜けが出たりします。 これもその通りですね。GETにこんな使い方のメリットがあったなんて気づきませんでした。 ご教授ありがとうございました。 大変参考になりました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

パラメータ設定をリンクに埋め込めるのが一番大きいですね クライアントサイドから言えばパラメータ付きブックマークが とっておけるのは有利でしょう

kureakai
質問者

お礼

>パラメータ付きブックマークがとっておけるのは有利でしょう 確かにおっしゃられる通りです。 これも意外でした。 ご教授ありがとうございました。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

form要素を書かなくてもanchor要素を生成すればいいので、他に教えるときにURLで示せます(Blogなどで記事番号を引き渡しているものなど)。 #ページ番号などで、いちいちform要素を生成するのは面倒ですしねぇ(汗 あと、リロード時に再送信するかどうかの問い合わせなどが発生しないというのもありますね。

kureakai
質問者

お礼

>リロード時に再送信するかどうかの問い合わせなどが発生しないというのもありますね。 これ、気づきませんでした。 もしかして、POSTのアドレスページ更新時に問い合わせが出てきてたのでしょうか…。 GETのときは、アドレスで値が指定されているから。出てこないんですね。 ご教授ありがとうございました。 大変参考になりました。

関連するQ&A

専門家に質問してみよう