目次
GETとPOSTの基本的な違い
- データの送信方法:
- GET:URLの一部としてデータを送信します。(クエリストストリング…?以降)
- POST:HTTP リクエストの本文(ボディ)にデータを含めて送信します。
- セキュリティ:
- GET:URLに表示されるため、機密情報の送信には適していません。
- POST:URLに表示されないため、GETよりも安全です。
- データ量:
- GET:URLの長さ制限があるため、少量のデータに適しています。
- POST:大量のデータを送信できます。
- キャッシュ:
- GET:ブラウザにキャッシュされやすいです。
- POST:通常キャッシュされません。
GET メソッド
-------------
ブラウザ サーバー
| |
| example.com/page.php?name=John&age=25
| ---------------------------->
| |
| レスポンス |
| <----------------------------
| |
データはURLの一部として送信される
POST メソッド
--------------
ブラウザ サーバー
| |
| example.com/page.php |
| ---------------------------->
| |
| ヘッダー |
| ... |
| 本文: |
| name=John&age=25 |
| ---------------------------->
| |
| レスポンス |
| <----------------------------
| |
データはリクエスト本文に含まれる
- データ送信方法の違い
- セキュリティ面での違い
- データ量の制限
どちらを使うべき?シーン別の選び方
GET | POST |
---|---|
検索フォーム | ログインフォーム ファイルアップロード |
$_POST と $_GET を使う方法
$_POST と $_GET はスーパーグローバル変数で、フォームやURLからサーバーに送信されたデータを取得するのに使います。