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

30秒でわかる答え

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

自分の言葉で説明してみよう

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

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

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

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

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

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

TERM PRIMER

先に知っておく言葉

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

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

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

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

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

イト

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

ピコ

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

役割比較で見る

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

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

Webページを開く場面

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

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

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

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

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

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

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

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

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

混同しやすいポイント

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

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

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

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

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

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

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

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

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

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

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

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

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

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

この記事について

LAB WHITEBOARD

自分の言葉で説明してみよう

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

編集部の実践ガイド

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

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