はじめに
今回はWeb技術を構成する用語の中で特に重要な用語を自分なりの言葉でまとめさせていただきました。
かなり短くまとめておりますので、お暇なときにでも読んでいただけると嬉しいです。
プロトコル
- プロトコルはネットワークで通信を行うためのにあらかじめ決めておく手順や約束事、規約などを意味する
- お互いに同じプロトコルを利用することによって、データのやり取りを可能にしている。様々な種類のパソコンやスマートフォン、サーバーなどがお互いに接続を行うことができるのは、TCP/IPという共通のプロトコルを利用しているからである
リクエスト
- リクエストは、クライアント(ブラウザ)がサーバー(Webサーバー)に対して行う要求や操作のことを指す
- クライアントは、特定のアクションを実行するためにサーバーに対してリクエストを送信する。リクエストには、要求するアクションの種類や目的に応じた情報が含まれる
- リクエストは主に「メソッド(HTTPメソッド)」「ヘッダー」「ボディ」の3つの要素で構成されています
- メソッド(HTTPメソッド)
- リクエストの目的やアクションのタイプを示す
- 代表的なHTTPメソッドには、GET(データの取得)、POST(データの送信)、PUT(データの更新)、DELETE(データの削除)などがある
- ヘッダー
- リクエストに関する追加のメタ情報が含まれる。例えば、クライアントの情報や要求されるデータの形式などが含まれる場合がある
- ボディ
- 一部のリクエストは、データをボディに含めて送信する必要がある。例えば、フォームデータやJSON形式のデータなどがボディに含まれることがある
- メソッド(HTTPメソッド)
レスポンス
- レスポンスは、サーバー(Webサーバー)からクライアント(ブラウザ)に返されるデータのことを指す
- サーバーは、クライアントから送られたリクエストを受け取り、適切な処理を行った後、レスポンスを生成して返す
- レスポンスは主に「ステータスコード」「ヘッダー」「ボディ」の3つの要素で構成されている
- ステータスコード
- サーバーの処理結果を示す3桁の数字。
- 代表的なステータスコードには、200(成功)、404(ページが見つからない)、500(内部サーバーエラー)などがある
- ステータスコードによって、リクエストの処理結果が成功したかどうかや、発生したエラーの種類を示すことができる
- ヘッダー
- レスポンスに関する追加のメタ情報が含まれる
- レスポンスのデータ形式や文字エンコーディング、サーバーの情報なども含まれる
- ボディ
- レスポンスの主要なデータが含まれる
- ボディは、クライアントが要求したアクションに応じて異なる形式で構成されることがある
- HTML文書、JSONデータ、画像ファイルなどがレスポンスのボディとして含まれることがある
- ステータスコード
ポート番号
- ポート番号は、ネットワークにおいて機器同士が通信を行うためにあらかじめ決めている使用する識別番号
- 0から65535までの数字で、範囲によって用途が決められている
ポート番号の範囲 | 名称 | 使用者 |
---|---|---|
0~1023 | ウェルノウンポート | 特定のサービスで予約 |
1024~49151 | 登録済みポート | メーカー独自のサービスで使用 |
49152~65535 | 動的/プライベートポート | クライアント側で自由に使用 |
- ポート番号は、通信のためにクライアントとサーバーの間で約束された方法
- クライアントは特定のポート番号を指定してサーバーに接続し、サーバーは対応するポート番号を使用してクライアントとの通信を待機する
- ポート番号を指定することにより、正しいアプリケーションやサービスとの通信を確立し、データの送受信が可能になる
代表的なウェルノウンポートの例
ポート番号 | プロトコル | 用途 |
---|---|---|
22 | SSH | セキュアな通信 |
23 | Telnet | リモート操作 |
53 | DNS | 名前解決 |
80 | HTTP | Webサーバとの通信 |
ステートレス
- ステートレスとは、システムや通信プロトコルが状態(ステート)を保持せず、各リクエストやレスポンスが独立して処理されることを指す
- HTTPプロトコルはステートレス
- そのため、リクエストとレスポンスのそれぞれのやり取りが1回ごとに完結しており、複数の処理を関連される仕組みがない
- メリットは以前のセッション状態を保持・反映しないという構造ゆえに各機器の負荷が少なくなる点
- デメリットは状態を保存できないこと
ステートフル
- ステートフルは、ステートレスとは逆で「状態(ステート)を保持する」ことができ、次の処理に反映させることができる仕組み
- オンラインショップのショッピングカート機能はステートフルなシステムの典型例
- オンラインショップでは、商品名を検索したり、商品を注文するのに利用するが、その際に商品を一つ一つ決済するのは不便なため、オンラインショップではショッピングカート機能を保持し、他の商品とまとめて注文できる仕組みが一般的
- ショッピングカートの例のように、ユーザーが操作した情報を保存しておいて、後でその情報をそのまま活用できる状態にしておくのがステートフルなシステム
- メリットは以前の操作を保持・反映できる点
- デメリットはデータを保持する必要があるため、多くの人が使用するようなシステムでは各機器の負荷が高くなる点
Cookie
- Cookieは、クライアント側に状態を保持する仕組み
- HTTPプロトコルはステートレスな通信のため、クライアントとサーバーの一連のやり取りの中で状態を保持し、管理する仕組みがない
- ショッピングサイトなどではCookieと呼ばれる仕組みを利用して、状態を保持し管理している
Cookieの仕組み
- クライアントとサーバーの最初のやり取りの後に、サーバー側がクライアント側にCookieとして保存してもらいたい情報を送る
- 2回目のサーバーへの接続の際に保存しておいたCookieを送信することで、サーバーは接続してきた相手を識別できるという仕組み
まとめ
今回はWeb技術を理解する上で避けては通れない重要な用語を解説させていただきました。
どの用語もなんとなく理解はしているもののいざまとめようと思うと意外と難しかったので、自分の頭を整理する上でもかなり勉強になりました。
こちらの記事が読んでくださった方のWeb技術への理解の助けとなれば幸いです。