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

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

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

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

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

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

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

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

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

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【中国現地企業に対応】中国クラウド / サーバー構築・運用保守

【中国現地企業に対応】中国クラウド / サーバー構築・運用保守

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

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,119
X facebook はてなブックマーク pocket
【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

この記事をかいた人

About the author

長谷竜弥

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

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

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

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