web技術の基本的な用語について

web技術の基本的な単語についてまとめました。

リクエスト、レスポンス

Webアプリケーションをパソコン上で使用するためには、パソコン(クライアント)に対して サーバから情報を取得する必要があります。 クライアント→サーバに対する要求を「リクエスト」、サーバ→クライアントの応答を「レスポンス」と呼びます。

プロトコル

プロトコルとは直訳すると規約のことです。 Webアプリケーションの通信においてのプロトコルは、通信を行う際のルール(規約)のことを指します。 プロトコルがないと、通信をやり取りした際にその通信が何を意味しているのかを互いに読み取ることができません。 そのため、ルールとしてプロトコルを決めて通信を行なっています。 プロトコルの例としては、HTTP、IP、TCP等があります。

ステートフル、ステートレス

ステート(state)は状態という意味を表す英単語です。 Webアプリケーションの通信において以前の通信の状態を保持している場合ステートフル(state+ful)、 保持していない場合ステートレス(state+less)と言います。 FTPはステートフルなプロトコル、HTTPはステートレスなプロトコルです。 ステートフルであると、オーバーヘッド(本来の処理を行うため付随する処理のこと)が大きくなるデメリットがあります。

クッキー

HTTPは、通信手順が簡単でオーバーヘッドが少ないステートレスなプロトコルが必要になっため考案されました。 しかし、HTTP通信を使用した今日のアプリケーションでは状態を保持する必要がある場面が多いです。(ログインの認証など) そこで使用されているのがクッキー(Cookie)です。 HTTPのレスポンスヘッダやリクエストヘッダに「名前=値」の組み合わせの情報を入れて通信を行うことで、 ログイン認証などの状態を管理しています。

ポート番号

通信を受信した際に、通信の中身を見ただけではどのプロトコルで送られてきたものか判別することができません。 そこで、「ポート(直訳すると、港の桟橋)」という考え方を受信時に使うことでプロトコルを判別しています。 プロトコルごとにどのポートで通信を受け取るかを決める、というのがポートの考え方です。 受信時のポート番号をあらかじめ決めておくことで、ポート番号からプロトコルを判断できます。 特に、HTTP等の代表的なプロトコルでは使用するポートを80番にするという取り決めがあります。 この取り決めで決められたポートは「ウェルノウンポート(wel-known ports)」と呼ばれます。 well-known portsがあることで、HTTP等の代表的なプロトコルではの通信ではポート番号を意識することが不要となります。