【PHP】初心者向け:PHPのGETメソッドとPOSTメソッドの違いを図解で解説

GETとPOSTの基本的な違い

  1. データの送信方法:
    • GET:URLの一部としてデータを送信します。(クエリストストリング…?以降
    • POST:HTTP リクエストの本文(ボディ)にデータを含めて送信します。
  2. セキュリティ:
    • GET:URLに表示されるため、機密情報の送信には適していません。
    • POST:URLに表示されないため、GETよりも安全です。
  3. データ量:
    • GET:URLの長さ制限があるため、少量のデータに適しています。
    • POST:大量のデータを送信できます。
  4. キャッシュ:
    • GET:ブラウザにキャッシュされやすいです。
    • POST:通常キャッシュされません。
GET メソッド
-------------
ブラウザ                  サーバー
   |                        |
   |  example.com/page.php?name=John&age=25
   | ---------------------------->
   |                        |
   |     レスポンス         |
   | <----------------------------
   |                        |

データはURLの一部として送信される


POST メソッド
--------------
ブラウザ                  サーバー
   |                        |
   |  example.com/page.php  |
   | ---------------------------->
   |                        |
   |  ヘッダー              |
   |  ...                   |
   |  本文:                 |
   |  name=John&age=25      |
   | ---------------------------->
   |                        |
   |     レスポンス         |
   | <----------------------------
   |                        |

データはリクエスト本文に含まれる
  • データ送信方法の違い
  • セキュリティ面での違い
  • データ量の制限

どちらを使うべき?シーン別の選び方

GETPOST
検索フォームログインフォーム
ファイルアップロード

$_POST と $_GET を使う方法

$_POST と $_GET はスーパーグローバル変数で、フォームやURLからサーバーに送信されたデータを取得するのに使います。