通信は、リクエスト(依頼)を出す側=クライアント、応えてレスポンスを返す側=サーバーという役割分担でできている。この依頼→応答の往復が、ネットの基本動作。
情報は「もともとそこにあるのを自分が見に行く」のではない。自分が頼んだ瞬間に、サーバーがすごいスピードで見せてくれている。
例えるならサーバー=店員さん(serve=「仕える」)、クライアント=お客さん。カフェで「コーヒーください」と頼むお客さんと、出してくれる店員さんの関係を、そのままインターネットに持ち込めばいい。
「依頼に応えて情報を返す役」を担っていれば、どんなコンピュータでもサーバーになれる。今使っている MacBook だってなれる。「サーバー」という特別な機械がどこかにあるわけではない。
頼む相手を一意に指すのが ドメイン → DNS → IPアドレス という住所の仕組み。
| 部品 | 役割 |
|---|---|
ドメイン(api.example.com) |
人間が覚えやすい名前 |
IPアドレス(142.251.42.78) |
コンピュータが使う数字の住所 |
| DNS | ドメインを IP アドレスに変換する電話帳 |
ドメインと IP アドレスは 1:1 で対応している。この変換がリクエストのどの段階で起きるかは HTTPリクエストの流れ に書いた。
サーバーとクライアントは機械の種類ではなく役割の名前。「見たい!」と頼むお客さんがクライアント、応えて返す店員さんがサーバー。その店員さんの居場所を一意に指すのがドメイン→DNS→IPアドレス。