【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

GETとPOSTの違いについて

初めまして!今年新卒で入社した開発チームの長谷と申します。
今回はプログラム初心者向けにPHPで情報を受け渡すときに使われる「GET」と「POST」の違いについて解説していきたいと思います。

GETとPOSTとは?

入力フォームなどのデータをWebサーバーに受け渡すときに用いる方法のことをいいます。

GETの特徴

  • データをURLの後に付与して送信する。
  • URLにデータが書かれているため他者に入力したデータが丸見えになってしまう。
  • URLは使用できる文字数が制限されていため(Internet Explorer のURLに使用できる最大文字数は最大2,048 文字)送ることのできるデータ量が制限される。
  • テキストデータのみ送信可能(画像データなどバイナリデータはURLに書けないので送信不可)。

例:http://localhost/sample/confirm.php?name=%E5%B1%B1%E7%94%B0%E5%A4%AA%E9%83%8E&age=22

「?」はパラメータの始まりです。
「&」はパラメータの区切れ目です。
「=」は左側がGETの変数名で、右側が渡される値です。
渡される値が%E5%B1%B1%E7...となっているのは日本語が変換されているためです。(日本語はURLで使用できない)

POSTの特徴

  • データがURLに付与されない。
  • URLにデータが書かれないので他者にデータを見られることがない。
  • データ量の制限なく送信可能。
  • テキスト、バイナリどちらでも送信可能。

例:http://localhost/sample/confirm.php

GETとPOSTの使い分け

以下に当てはまる場合はPOSTを使うと良いでしょう。

データ量が多い場合

前述のように、Internet ExplorerではURLに使用できる最大文字数は最大2,048 文字であり、
GETの場合データをURLの後に付与して送信するため、送ることのできるデータ量が制限されます。
よってデータ量が多い場合はPOSTを使用してください。

秘匿情報を送る場合

メールアドレスやパスワードなど外部に知られたくない情報がデータの中にある場合、
GETだとURLの後にデータ情報が付与されるため他者に見られてしまいます。
よって秘匿情報を送る場合はPOSTを使用してください。

バイナリデータ送る場合

画像などのバイナリデータを送る場合はPOSTを使用してください。

終わりに

データをURLで共有したい場合、他者にデータが見られても問題ない場合はGETを使っても良いでしょう。
ですが基本的に個人情報の入力フォームや商品注文フォームなど個人情報が含まれている場合は必ずPOSTを使ってください。
以上です。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
4,534
X facebook はてなブックマーク pocket
【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

この記事をかいた人

About the author

長谷竜弥

新卒にて株式会社ビヨンドに入社。

Webシステム開発(Webサービス・デジタルコンテンツ・業務管理システム などのブラウザで動くサービス、システムの開発)や、ゲームAPI(アプリゲームとの通信部分のプログラム開発)を行っている。

また、Shopify のプライベート / カスタムアプリの開発も行っている。

元々は大阪オフィスに勤めていたが、2019年に横浜オフィスに転勤。
趣味は野球 / カラオケ / アニメ