【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