はじめに
本記事を読んでほしい方
以下の内容について理解が不十分な方。この記事を読んで、理解を深めましょう。
- プロトコル
- ポート番号
- リクエストとレスポンス
- ステートフルとステートレス
- Cookie(クッキー)
それでは早速説明していきます!
1. プロトコル
ネットワークに接続された機器同士が通信をするときの、決められたルールや手順のことを言います。
最も有名なものに、HTTP(HyperText Transfer Protocol)があります。HTTPはクライアント(Webブラウザ)とサーバー(Webサーバー)がWebコンテンツを送受信するためのプロトコルです。
※TCP/IPについて
インターネットサービスを実現するために、広く利用されているプロトコルの集まりをTCP/IP (Transmission Control Protocol/Internet Protocol)と言います。このTCP/IPが利用されるまでは、同じデバイスでなければ通信ができませんでしたが、TCP/IPの普及によりパソコンやスマートフォン、サーバーといった異なるデバイス間で通信ができるようになりました。
2. ポート番号
このポート番号というものを理解するには、まずIPアドレスについて知る必要があります。IPアドレスとは、インターネットを利用しているコンピューターについた識別番号のことです。要は、コンピューターひとつひとつに割り当てられた住所のようなものです。
ただし、IPアドレスはコンピューターを指定することはできますが、そのコンピュータが提供するサービス(アプリケーション)までは指定することができません。そこで、コンピューターが提供するサービスを指定するためにポート番号が利用されます。IPアドレスが住所だとすると、ポート番号は部屋番号のようなものですね。
3. リクエストとレスポンス
一般的に、Webの世界ではHTTPを使って、WebブラウザがWebサーバーにリクエストを送り、それに対してレスポンスを返すというような手順を踏みます。そのため、HTTPリクエストとHTTPレスポンスについて理解する必要があります。それぞれを以下にまとめておきます。
- HTTPリクエスト
WebブラウザがWebサーバーに対してどのような処理をして欲しいのかというリクエスト情報を伝えること。 - HTTPレスポンス
WebサーバーがWebブラウザから受け取ったHTTPリクエストを処理して、その結果をレスポンスとして応答すること。
4. ステートレスとステートフル
HTTPのプロトコルの特徴として、ステートレスであることが挙げられます。ステートレスなプロトコルとは、リクエストとレスポンスの1回のやりとりで完結してしまい、2回目のやりとりにその状態が引き継がれないことを言います。それに対して、1回のやり取りだけで完結せずに、2回目以降にそのやりとりの情報が反映される方式をステートフルなプロトコルと言います。
最近では、Webアプリケーションが発達し、ログイン後のユーザーの情報を反映させ続けるためにステートフルであることが望まれます。そこで考えられたのが次項で説明するCookieという技術です。
5. Cookie(クッキー)
Cookieとは、HTTPの仕様を拡張してWebアプリケーションとWebブラウザの間で情報を交換できるようにしたものです。Cookieの仕組みを説明します。まず、WebサーバーからWebブラウザへHTTPレスポンスの一部を利用して小さな情報を送ります。この情報がCookieです。WebサーバーからCookieを受け取ったWebブラウザは、次回同じWebサーバーへアクセスする際、HTTPリクエストにCookieを入れて送信します。Webアプリケーションが、このリクエストに入っているCookieを調べることで、アクセスしてきた相手が誰かということを調べることができるといったものです。
このCookieという技術は、ログイン情報やショッピングサイトの商品かごの情報の維持に利用されます。
参考文献
最後に
Web技術に関する用語(プロトコル、ポート番号、リクエスト、レスポンスなど)についてお分かりいただけたでしょうか?Webアプリケーション開発において、重要な知識ばかりなので何となくでも知っておくと良いと思います。もし、不備があればご指摘いただけるとありがたく思います。最後まで読んでいただきありがとうございました!