【PHP】HTTPでの通信の特徴と基礎知識

PHP

PHPには直接関係がありませんが、PHPを使ってサーバーとのやり取りをする上で、
欠かせない知識であるHTTP通信の特徴と基礎知識について紹介します。

HTTP通信について

HTTPを使った通信の場合、GET、POST、PUT、PUATCH、DELETEなどのメソッドというものが存在します。
たとえば、GETならデータを取得しますし、POSTならデータの作成、更新をします。

HTTP通信の特徴

HTTPは、リクエストの前後で状態を保持しない、ステートレスなプロトコルです。

FTPやSSHは、逆にリクエストの前後で状態を保持するステートフルなプロトコルです。

HTTPは、ステートレスなため、たとえばサーバーに対して2回目のリクエストを行った場合、2回目のリクエストのとき1回目の内容を知らないという状態です。
HTTPでは基本的にその都度の通信で完結し、その前後の状態は保持されません。
ただし、サーバーには前後の状態を保持するセッションという仕組みも存在します。

GETメソッドの特徴

GETメソッドの特徴として、パラメータがURLの一部としてサーバーに送信されます。
eg./path?param1=value1&param2=value2

ブラウザのキャッシュは有効になります。ただし、Apacheの設定によります。

URLには、HeaderとBodyが存在します。
Headerは、サーバーとの通信における設定値を設定して送ります。
ブラウザキャッシュもこのHeaderに設定します。
GETメソッドの場合、Bodyは空で送信されます。

POSTメソッドの特徴

GETメソッドと違い、パラメータがURLの一部ではなく、Body部分に設定して送信されます。
eg. Bodyにparam1=value1 param2=value2
Headerは、同様でサーバーとの通信における設定値を設定して送ります。

ブラウザのキャッシュは無効になります。

PHP

Posted by devsakaso