リクエストとレスポンス、プロトコル、ポート番号の関係について勉強したので、それをまとめます。
リクエストとは?
リクエスト とは、あるシステムに対して、情報や処理を要求することです。Webの世界では、主に以下のものがリクエストとして扱われます。
- HTTPリクエスト: Webページの表示、データの送信など、Web通信で利用されるリクエストです
- APIリクエスト: アプリケーション同士が通信するために利用されるリクエストです
- データベースクエリ: データベースに対してデータの検索や更新を行うためのリクエストです
リクエストの構成要素
- メソッド: リクエストの種類(GET、POST、PUTなど)
- URL: リクエスト先のアドレス
- ヘッダー: 追加情報(ユーザーエージェント、Cookieなど)
- ボディ: リクエスト本体(送信するデータ)
レスポンスとは?
レスポンス とは、リクエストに対してシステムが返す回答、つまり結果のことです。
レスポンスの構成要素
- ステータスコード: リクエストの処理結果(成功、失敗など)
- ヘッダー: 追加情報(コンテンツタイプ、Cookieなど)
- ボディ: レスポンス本体(返されるデータ)
プロトコルとは?
プロトコル とは、通信を行う際のルールや手順を定めたものです。リクエストとレスポンスは、このプロトコルに則って行われます。
- HTTP: Webページの表示など、Web上での通信で広く利用されるプロトコル
- HTTPS: HTTPにSSL/TLSによる暗号化を加えたプロトコル
- FTP: ファイル転送用のプロトコル
ポート番号とは?
ポート番号 とは、通信相手の宛先を表すURLを表現する際に使われるもののことです。
- URL:スキーム名://IPアドレス:ポート番号で表されます。ポート番号はスキーマ名次第によっては、不要となることがあります。(https:111.111.111.111:1111など)
- スキーム名:http, httpなど
- IPアドレス:ネットワーク上のコンピューターを特定するために使用されます(111.111.111.111など)
リクエストとレスポンス、プロトコル、そしてポート番号の関係性
これらの4つの要素は、コンピューターの通信には必要不可欠です。
- リクエスト: 特定のプロトコルに従って、サーバーに情報を要求します
- サーバー: リクエストを受け取り、処理を行い、プロトコルに則ったレスポンスを返します。
- レスポンス: クライアントは、レスポンスを受け取り、表示したり、次の処理に利用したりします。
- ポート番号: IPアドレスとポート番号をもとに通信経路が作成され、それを利用して、コンピューターはプロトコルに則り、リクエストやレスポンスなどのやり取りを行います。
例えば、Webページの閲覧
- ブラウザはHTTPプロトコルを使ってサーバーにページのデータ(HTML)を要求します。
- WebサーバーはHTTPプロトコルに従ってHTMLデータをレスポンスとして返し、ブラウザはそれを表示します。
※この時、Webサーバーは80もしくは443番のポートでWebの通信を待っているので、不特定多数のクライアントとのやり取りが可能です。