クライアントとサーバー|お願いする側と返す側の違い

30秒でわかる答え

クライアントはお願いを出す側、サーバーはそのお願いを受けてデータや処理結果を返す側です。役割は通信ごとに決まり、同じ仕組みが別の通信ではクライアントになることもあります。

TERM PRIMER

クライアントとサーバー|先に知っておく言葉

サーバー
データを保存したり、ほかの端末に届けたりする役割を持つコンピューターです。
CDN
世界中の近い場所から画像や動画などを届けやすくする配信ネットワークです。
キャッシュ
一度使ったデータを一時的に保存し、次に速く使えるようにするしくみです。

ラボのプロジェクターに、ブラウザの受付とサーバー図書館を結ぶ一本の道が映りました。ピコとイトは、「お願いを出す側」と「返事を用意する側」が通信の中でどう分かれるのかを追っていきます。

この流れは、第12話「返事をするサーバーはどこにいる?」や、リクエストとレスポンスとは とつながります。

漫画:お願いの向きを見よう 全4ページ

赤い丸の紙がほしいイトが、ピコへお願いして受け取る。次に青い丸がほしくなったピコが、イトへ新しいお願いをする。別のお願いでは役割札が逆になると発見し、最後はブラウザなどのソフトの役割へ読み替える。

画像を押すと拡大できます。+/−で大きさを変え、拡大中はドラッグして読めます。

1 / 4赤い丸を頼む

青い丸の紙を持つイトが、赤い丸を持つピコへお願いする。

1ページ目:赤い丸を頼む
最初に、どちらが要求し、どちらが応答するかを決めて見ます。

1ページ目のセリフ

  • 模型の札「役割の模型」
  • イト「赤い丸、もらえる?」

2 / 4最初の往復

イトの要求へピコが返事する往復を、役割札で見る。

2ページ目:最初の往復
お願いが行く向きと返事が戻る向きを分けても、同じ通信の役割は変わりません。

2ページ目のセリフ

  • イトの模型の役「クライアント」
  • ピコの模型の役「サーバー」
  • イト→ピコ「お願い」、ピコ→イト「返事」
  • 右のお願いは赤い丸を示す札、左の返事は赤い丸。

3 / 4別のお願いでは

今度は青い丸がほしいピコがイトへ新しい要求を出す。この通信では役割が逆になる。

3ページ目:別のお願いでは
別の通信で要求する側になれば、クライアントとして振る舞うことがあります。

3ページ目のセリフ

  • 場面札「別のお願い」
  • ピコの模型の役「クライアント」
  • イトの模型の役「サーバー」
  • ピコ→イト「お願い」、イト→ピコ「返事」
  • 新しいお願いは青い丸を示す札、返事も青い丸。

4 / 4ソフトの役割へ

イトがブラウザの側へクライアントの札を置き、二人の模型を実際のソフトの役へ読み替える。

4ページ目:ソフトの役割へ
役割名は機械の形や人の肩書きでなく、その通信でソフトが何をするかを示します。

4ページ目のセリフ

  • 画面の札「ブラウザ」「クライアント」
  • ピコ「本当は、ソフトの役割だよ。」

横にスワイプして次のページへ。画像を押すと拡大できます。

二人の工作は役割を考える模型で、人間そのものが通信のクライアントやサーバーという意味ではありません。実際はブラウザやサーバーのプログラムなどの役割です。役割は別の通信や接続で変わる場合があり、一つの要求への返事を返しただけで反転するものではありません。

本文の解説へ ↓

100%

拡大中はマウスや指でドラッグできます。100%では左右スワイプ・左右キーでページ送り。

通信の向きから役割を考える

Webページを見る場合、ブラウザがクライアント、Webサーバーがサーバーです。スマホアプリでも、アプリがサーバーへ情報を取りに行く場面があります。役割は固定の肩書きではなく、その通信でどちらがお願いし、どちらが返すかで見ます。

イト

クライアントとサーバーって、どっちがお願いするの?

ピコ

ブラウザの受付からサーバー図書館まで、お願いの札を追ってみよう。

役割比較で見る

見る点クライアントサーバー
代表例ブラウザ、スマホアプリWebサーバー、APIサーバー
主な動きリクエストを送るレスポンスを返す
利用者との距離手元の画面に近い画面のむこう側にある
困りごと表示、入力、キャッシュ応答、保存、処理、負荷

この表は入口です。実際のサービスでは、サーバー同士がさらに別のサーバーへお願いすることもあります。その場合、ある通信ではサーバーだったものが、別の通信ではクライアントのように振る舞うことがあります。

Webページを開く場面

イトがブラウザでページを開くと、画面のむこう側では次の流れが起きます。

  1. ブラウザがURLを読む
  2. ブラウザがサーバーへリクエストを送る
  3. サーバーが必要なデータを用意する
  4. サーバーがレスポンスを返す
  5. ブラウザが画面に表示する
イトとピコが、ブラウザからサーバーへお願いが行き返事が戻る流れを見ている
お願いを出す側と返事を返す側に分けると、通信の往復を追いやすくなります。

この流れは、リクエストとレスポンスとは とつながります。この二つは、HTTPのお願いと返事を理解するための役割名でもあります。

通信の決まりは HTTPとは で確認できます。

サーバーは一台とは限らない

「サーバー」と聞くと、どこかに一台の大きな機械があるように感じるかもしれません。実際には、複数のサーバーやサービスが分担している場合があります。

  • Webページを返すサーバー
  • 画像を配るサーバー
  • ログインを扱うサーバー
  • データベースとやり取りするサーバー
  • CDNのように近くから配信する仕組み
ユイとマコトが、サーバー側で複数の部屋が役割を分担している様子を確認している
サーバー側は一台に見えても、実際には複数の役割に分かれている場合があります。

動画や画像を速く届ける話に進むなら、CDNとは が役立ちます。

キャッシュとは で速く返す工夫を、動画配信の仕組み で複数のサーバーが関わる流れを確認できます。

混同しやすいポイント

どちらの役割になるかは、物理的な場所だけで決まるわけではありません。手元の端末でもサーバーとして動くソフトを入れることがありますし、クラウド上のサービスが別のサービスへリクエストすることもあります。

だから最初は「この場面で、誰がお願いし、誰が返しているか」を見るのが一番安全です。役割を場面ごとに見ると、API、CDN、キャッシュ、ログインの話へ進んでも混乱しにくくなります。

イトとユイが、場面ごとにお願いする側と返す側が変わることを確認している
物の名前だけで決めず、その場面でどちらがお願いしているかを見るのが大切です。

ラボのたとえを実際の構成に戻す

ラボのたとえでは、イトが注文票を出し、受付が資料を返します。お願いする側と返す側を分ける入口として便利です。ただし実際のWebサービスでは、受付の奥に複数の部屋があります。Webサーバー、APIサーバー、データベース、画像配信、認証サービスなどが分かれている場合があります。

そのため、画面に近いところだけを見て「サーバーが一つ」と考えると、トラブル対応で迷います。表示が遅いのか、ログイン処理が失敗したのか、画像だけが遅いのかで、画面のむこう側の確認場所は変わります。

実際の構成を最初から細かく覚える必要はありません。まずは、クライアントがリクエストを出し、サーバー側のどこかが処理してレスポンスを返す、と見ます。そのうえで、必要になったらサーバー側の役割を分けていくのが自然です。

クライアントとサーバーを自分の言葉で説明する練習

次の場面で、お願いする側と返す側を分けてみましょう。

  • 場面: ブラウザでニュース記事を開く
  • クライアント:
  • サーバー:
  • 返ってくるもの:

答えの例は、「クライアントはブラウザ、サーバーは記事データを返すWebサーバー、返ってくるものはHTMLや画像など」です。

別の場面でも、同じ型で言い換えます。

クライアントとは、____________側です。
サーバーとは、____________側です。
ただし、同じ仕組みでも場面が変わると____________ことがあります。

最後の空欄には、「役割が変わる」が入ります。サーバーという名前の機械が、別のサービスへリクエストを送る場面では、通信の中でクライアントのように振る舞うこともあります。

クライアントとサーバーの確認クイズ

Q1. クライアントはいつも人間そのものですか?

いいえ。多くの場合、ブラウザやアプリなどのソフトがクライアントとして通信します。

Q2. サーバーは一台だけで成り立つものですか?

一台の場合もありますが、複数のサーバーやサービスが分担する場合もあります。

Q3. 役割を見分けるコツは?

その通信で、どちらがお願いを送り、どちらが返しているかを見ることです。

この記事について

LAB WHITEBOARD

クライアントとサーバーを一文で説明してみよう

「クライアントとサーバーについて、意味・場面・実際の仕組みを分け、次の理解へ進めるようになる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。

編集部の実践ガイド

初めてのレンタルサーバーの選び方

仕組みを理解したあとの実践編として、サーバー選びの軸を整理します。