HTTPリクエストとHTTPレスポンスは、WEB開発を行うならば必ず理解していなければいけないです。
あなたが作成したプログラムがどのタイミングでどこから動き始めるのか?
その処理の実行結果は何を求められているのか?
今回はそれらについて解説していこうと思います。
HTTPリクエスト
HTTPリクエストとは、あなたのサイトを利用するユーザーがWEBブラウザ上で起こしたイベントになります。
このイベントの種類には以下のようなものがあります。
- URLを直接入力する
- アンカーテキストや画像のリンクをクリックする
- お問い合わせなどのフォームの送信ボタンをクリックする
- ファイルアップローダーで画像をアップロードする
つまり「リクエスト」というのは、ユーザーがあなたのWEBサイトに何かを求めているということです。
GETとPOST
HTTPリクエストの中でもっとも使われるメソッドがGETとPOSTです。
どちらもサーバーにデータを送信する手段です。
簡単に違いを説明すると、GETはURLのパス指定の後に ?id=123 などをつけてIDを送信します。
そしてこのGETで渡すデータのことをGETパラメータと言います。
POSTはHTMLのFORMタグを使い、その中でIDを送信するINPUTタグを作成して送信します。
IDでなくても名前や検索ページだったら検索条件なども送信されます。
GETメソッドは、例えば2ページ目を表示したい場合は同じURLで ?page=2 などとつけて使います。
POSTメソッドは、例えばお問い合わせフォームや会員登録、ログイン画面などで使います。
GETはキャッシュされてしまうため、セキュアな情報を扱う場合はPOSTを使います。
POST送信するFormタグに関しては以前の記事で作成方法を説明していますのでそちらをご覧ください。
サーバーで受け取れる情報(PHP)
サーバーで受け取れる情報としてGETデータの$_GETや、POSTデータの$_POSTなどがあり、これらのことをスーパーグローバル変数と言います。
$_GET でGETパラメータを受け取ることが出来ます。
データは配列になっています。
$_POST でformタグにより送信されたデータを受け取ることが出来ます。
データは配列になっています。
$_COOKIE でクッキーの情報を取得出来ます。
データは配列になっています。
$_SESSION でセッションの情報を取得出来ます。
データは配列になっています。
$_FILE でアップロードされたファイルを取得出来ます。
$_SERVER はあなたのサーバー情報だけでなく、あなたのサイトにアクセスしたユーザーの情報も取得出来ます。
サーバー情報としてはドメインなど取得でき、ユーザー情報はIPアドレスなどが取得出来ます。
IPアドレスから都道府県なども特定出来たりします。
$_ENV はエンブって読むんかな?
これはサーバーの環境変数などを取得できます。
HTTPレスポンス
HTTPレスポンスとは、HTTPリクエストに応じてあなたのWEBサイトが返す情報です。
一般的には、画面遷移をした場合にHTMLとそれに関連する要素を構築し返します。
それ以外にも画像やPDF、CSVデータなどのダウンロードも出来ます。
Ajaxの非同期通信を行った場合はMVCのMとCは動きますが、Viewは構築しない場合が多いです。
その場合はリクエストに応じたデータのみを返します。
まとめ
HTTPリクエストはユーザーがサーバーに求めること。
HTTPレスポンスはサーバーがユーザーに情報を返すこと。
今回は言葉の説明だけですが、実際にはもっとプログラミングのテクニックが必要になります。
コメントを残す