導入
あなたがスマホでウェブサイトを開くとき、画面の向こうでは必ず サーバー という「相手役」のコンピュータが動いています。サイトを見る側(あなた)を クライアント、情報を提供する側を サーバー と呼びます。この2人1組の関係が、インターネットの一番の基本です。
説明
「サーバー(server)」は英語で 給仕する人・提供する人 という意味です。レストランのウェイターを思い浮かべてください。お客(クライアント)が「メニューをください」と頼むと、ウェイター(サーバー)が持ってくる。Web もまったく同じ構図です。
flowchart LR
C["クライアント<br/>(あなたのスマホ/PC)"] -->|"① これください<br/>(リクエスト)"| S["サーバー<br/>(相手のコンピュータ)"]
S -->|"② はいどうぞ<br/>(レスポンス)"| C
たとえば https://example.com を開くと、裏ではこんなやりとりが起きています。
- あなたのブラウザ(クライアント)が「
example.comのトップページをください」と**お願い(リクエスト)**を送る example.comのサーバーが、ページのデータを**返事(レスポンス)**として送り返す- ブラウザがそのデータを受け取り、画面に描く
この「頼む→返す」を リクエストとレスポンス と呼びます。Web に限らず、メール・LINE・オンラインゲーム・アプリの通信——ほとんどが、この形の繰り返しでできています。
サーバーは特別な機械ではありません。 「ずっと電源が入っていて、頼まれたら答える役」をしているコンピュータを、そう呼ぶだけです。あなたの PC も、設定すればサーバーになれます。逆に、サーバーも中身はふつうのコンピュータで、キーボードもマウスも(ふだんは)使わずに動き続けています。
flowchart TD
subgraph クライアント側
A["Webブラウザ"]
B["スマホアプリ"]
C["別のサーバー"]
end
A --> S["1台のサーバー"]
B --> S
C --> S
S --> D[("データや<br/>ファイル")]
1台のサーバーには、世界中から大勢のクライアントが同時にアクセスします。だからサーバーには「たくさんの相手を、止まらず、安全にさばく」力が求められます。その裏方を支えているのが Linux であり、それを操るのがコマンド——というのが、このコースの主役です。
この章のまとめ
- クライアント=頼む側(あなた)、サーバー=答える側(相手のコンピュータ)
- 通信の基本は リクエスト(お願い)→ レスポンス(返事) の繰り返し
- サーバーは特別な機械ではなく、「答える役に徹しているコンピュータ」
- 次のレッスンでは「そのサーバーの中身は、なぜ Linux なのか」を見ていきます