
$GET、$POST、$REQUESTの違いを教えて下さい。
また、検索フォームやページネーションを使う際、$GET、$POST、$REQUESTのどれがオススメですか?大量のデータを扱う場合です。
僕は$GETをページネーションや検索フォームに使っていますが、大量のデータを扱うなら$GETを使うなと言われました。ただ、$POSTを使ってみたのですが、$GETより早いのですがいまいち$GETとは違い動作が良くないです。
また、$REQUESTは駄目だと言われたのですが、どうなんでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。


回答2件
0
Webの世界は基本的にRESTの概念で動作しています。
ですのでRESTの考え方を理解すると分かりやすいでしょう。
詳しい事は別途勉強するとして、簡単にGETは受け取る、POSTは投稿…という思想になります。
また、検索フォームやページネーションを使う際、$GET、$POST、$REQUESTのどれがオススメですか?大量のデータを扱う場合です。
検索のサーチワードは「このパラメータに従った結果が欲しい」という検索結果を受け取ることが目的なので、GETを利用するべきです。
POSTは掲示板への書き込みだとか、Twitterへの投稿だとか…Webサーバーに格納されている情報そのものを書き換える事を目的として行います。
僕は$GETをページネーションや検索フォームに使っていますが、大量のデータを扱うなら$GETを使うなと言われました。
それはGETのパラメータには事実上の文字数制限がある為でしょう。
[tech]HTTP GETメソッドのURIの長さ制限を調べてみた - Kazumi007の日記
とはいえ、半角英数字1文字1バイト、日本語でも1文字2~3バイトです。
REST通りのGETとして使う限り、制限に引っかかるケースはまずありません。
投稿してデータを受け取って検索してページネーションして…という風に複数用途を一度のアクセスで全てを行うとGETの文字数制限に引っかかる恐れがあります。
1度のアクセスに詰め込みすぎると使いづらいシステムになりますので、
そういうケースでも素直に2~3リクエストに分割するような設計を心がけましょう。
また、$REQUESTは駄目だと言われたのですが、どうなんでしょうか?
RESTの考え方的にGETとPOSTのパラメータが混ざる事がそもそも問題ありなので、
$_REQUEST
は基本的に忘れて構いません。
動作が良くないです。
POSTはそもそも投稿するものですので、ブラウザ上で進む戻るボタンへの影響もあります。
ただ、動作が悪いからと言ってGETで投稿や削除機能を実装することは避けてください。
これは私がRESTを知らない時の失敗談になるのですが、
掲示板の投稿内容の削除ボタンをGETのリンクで実装したために、
グーグルのクローラーが巡回してきてパスワードが設定されていない全ての記事が全滅したことがありました。
POST後はリダイレクトを使って進む戻るボタンで何度も書き込みされないようにする事が可能です。
投稿2016/10/08 18:15
総合スコア21395
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/20 12:08

0
【【PHP】GETとPOSTの違い、使い分けと使い方を紹介】
http://scene-live.com/page.php?page=27
【「GETメソッド」と「POSTメソッド」の違い|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典】
http://wa3.i-3-i.info/diff7method.html
投稿2016/10/08 15:44
総合スコア69625
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。