スマートフォンでアプリを開いたとき、あなたは今まで知らなかった仕組みの恩恵を受けています。
その仕組みとは「クライアントサーバモデル」。
一見難しそうに聞こえるこの言葉、実は私たちの日常生活に深く関わっているんです。
今日は、難しい専門用語を横に置いて、身近な例を通じて、誰もがわかるクライアントサーバモデルの世界へご案内します。
インターネットやスマートフォンアプリがどのように動いているのか、まるで魔法のように感じていた仕組みの秘密、ここで明らかにします!
そして最後に、この2つが機械の種類を指す言葉ではないことを、Webのやりとりを定めた仕様書の言葉で確かめます。
目次
クライアントサーバモデルとは?

クライアントサーバモデルは、サービスを提供する側(サーバ)と、サービスを利用する側(クライアント)に役割を分ける仕組みです。
- サーバ
情報やサービスを提供する側 - クライアント
サーバに情報を要求する側
ここで「側」と書いたのには理由があります。クライアントとサーバは、機械の種類ではなく役割の名前です。この記事の後半で、同じ1台が両方の役をこなす例を紹介します。
例えば、レストランを想像してください。
- サーバ
料理を作る人、料理を提供する人 - クライアント
料理を注文する人、料理を食べる人
クライアント(お客さん)は、サーバ(料理人)に「〇〇料理を食べたい」と注文します。
サーバ(料理人)は、注文に応じて料理を作り、クライアント(お客さん)に提供します。
クライアントサーバモデルの仕組み

クライアントサーバモデルでは、クライアントとサーバはネットワークを通じて通信します。
動作の流れは次の通りです。
- STEP
リクエストの送信
ユーザーがアプリやウェブサイトで何かをしたいと操作すると、クライアントはサーバに「~したい」というリクエストを送ります。
- STEP
処理
サーバはリクエストを受け取り、必要な処理を行います。
例えば、SNSにログインする場合、サーバはあなたのアカウント情報を確認します。
- STEP
レスポンスの返信
処理が完了すると、サーバは結果をクライアントに返送します。
ログインが成功すれば、あなたのFacebookのホーム画面が表示されます。
この仕組みによって、私たちは様々なサービスをスムーズに利用できます。
クライアントサーバモデルのメリット・デメリット
クライアントサーバモデルには、以下のようなメリット・デメリットがあります。
- 効率的な情報管理ができる
- セキュリティ対策を1か所にまとめられる
- 処理の分散ができる
- サーバへ依存してしまう
- 構築・運用コストがかかる
- ネットワーク負荷が高くなる
効率的な情報管理ができる
サーバで情報を一元管理するため、情報の更新や管理がしやすいです。
会社の共有フォルダを思い浮かべると分かりやすいでしょう。資料をサーバに1つ置いておけば、直したときに全員の手元が同時に新しくなります。もし各自のパソコンにコピーを配っていたら、誰の手元が最新なのか、誰にも分からなくなります。
置き場所が1つに決まっていることが、この仕組みのいちばんの利点です。
セキュリティ対策を1か所にまとめられる
大事なデータがサーバに集まっているので、対策もサーバ側にまとめられます。パソコン1台ずつに同じ設定をして回るより、確実で手間もかかりません。
ただし、これは「安全になる」という意味ではありません。1か所にまとめられるということは、そこが破られたときの被害も1か所に集まるということです。利用者が自分のパソコンをいくら守っても、預けた先で起きたことは防げません。
利用する側にできることは、預ける先を選ぶことと、自分のアカウントを守ることです。
処理の分散ができる
サーバとクライアントで処理を分担することで、負荷を分散できます。
手元の機械が非力でも使えるのは、このおかげです。スマートフォンで地図を動かしたり、翻訳をかけたりするとき、重い処理をサーバ側がやっている場合があります。手元は結果を受け取って表示するだけで済みます。
そう作られている場合、その処理は手元では動いていません。通信できないところへ行くと使えなくなるアプリがあるのは、これが理由です。逆に、電波が無くても動くアプリは、手元だけで処理をしていることになります。
サーバへ依存してしまう
サーバが停止すると、クライアントはサービスを利用できなくなります。
やっかいなのは、手元のパソコンは何ともないのに、何もできなくなることです。画面は動くし、他のサイトは見られる。それなのに目当てのサービスだけが開かない——このとき、直せる場所は自分の手元にはありません。
できるのは、自分側の問題かどうかを切り分けて、そうでないと分かったら待つことです。そのサービスの障害情報を見に行くのが最初の一手になります。
構築・運用コストがかかる
サーバの構築や運用には、コストがかかります。
かかるのは買うときのお金だけではありません。置き場所、電気、故障したときの交換、ソフトの更新——動かし続けるほうに手間と費用がかかります。しかも止まると全員が困るので、放っておけません。
この負担を自分で持たずに、外の事業者から借りる形にしたのがクラウドです。社内にサーバを置くか、借りるかは、この費用と手間をどちらが持つかの選択になります。
ネットワーク負荷が高くなる
クライアントとサーバ間の通信量が増えると、ネットワークに負荷がかかります。
手元で処理しないということは、やりとりのたびに線を通るということです。使う人が増えれば、その線に同時に入る量も増えます。
会社で決まった時間だけ動きが鈍くなる、といった症状は、混み具合を疑ってみる価値があります。
クライアントサーバモデルの身近な例

クライアントサーバモデルは、私たちの身近なところでたくさん使われています。
例えば次のようなものがあります。
- Webサイトの閲覧
- メールの送受信
- スマホアプリの利用
- オンラインゲーム
Webサイトの閲覧
Webブラウザ(クライアント)は、WebサーバにWebページを要求し、表示します。
アドレスバーに入れた文字が、この要求の宛先です。返ってきた部品をブラウザが組み立てたものが、いま見ている画面です。
このやりとりの決まりを HTTP といいます。記事の最後で、その仕様書がクライアントとサーバをどう定めているかを見ます。
メールの送受信
メールソフト(クライアント)は、メールサーバにメールを送信したり、受信したりします。
ここで知っておくと役に立つのは、送るときと受け取るときで、頼む相手も頼み方も違うことです。送るときは自分の契約先のメールサーバに「これを届けてください」と渡し、受け取るときは同じサーバに「届いていますか」と聞きに行きます。
だから送れるのに受け取れない、あるいはその逆が起こります。片方だけ動かないときは、機械が壊れたのではなく、片方の頼み事だけが通っていないと考えてください。
スマホアプリの利用
スマホアプリ(クライアント)は、アプリサーバに情報を要求し、様々な機能を利用します。
画面の枠はアプリの中にありますが、中身は開くたびにサーバから取っています。電波の届かない場所でアプリを開くと、枠だけ出て中身が空になることがあるのはこのためです。
あの状態は、アプリが壊れたのではありません。要求の返事が来ていないだけです。
オンラインゲーム
ゲーム機(クライアント)は、ゲームサーバに接続し、他のプレイヤーと対戦します。
対戦の判定や持ち物の中身は、サーバ側が持っている場合があります(作りはゲームによって違います)。手元の機械だけで結果が決まっているわけではありません。
そう作られている場合、手元の通信が一瞬途切れると自分だけ動けなくなったり、少し前の位置まで戻されたりします。それでも持ち物が消えないのは、記録が手元ではない場所にあるからです。
クライアントとサーバは、機械ではなく役割
「サーバ」と聞くと、データセンターに並んだ黒い機械を思い浮かべるかもしれません。ですが、この言葉が指しているのは機械の種類ではありません。
Webのやりとりを決めている HTTP の仕様書は、この2つの言葉をこう定めています。
HTTP の「クライアント」とは、1つ以上の HTTP 要求を送る目的でサーバへの接続を確立するプログラムである。HTTP の「サーバ」とは、HTTP 応答を送ることで HTTP 要求に応じるために接続を受け入れるプログラムである。
クライアントおよびサーバという用語は、これらのプログラムが特定の接続において果たす役割のみを指す。同じプログラムが、ある接続ではクライアントとして、別の接続ではサーバとして動作することがある。
後半の原文は「The terms client and server refer only to the roles that these programs perform for a particular connection. The same program might act as a client on some connections and a server on others.」(RFC 9110 §3.3・2022年6月/2026年8月17日確認)。訳は当サイトによるものです。
読み取れることが3つあります。
- 呼び分けているのはプログラムであって、機械ではない
- その名前が有効なのは、ひとつの接続のあいだだけ
- 同じプログラムが、接続が変われば逆の役になる
3つ目は、たとえば通信を中継するプログラムに当てはまります。受け取るときはサーバとして振る舞い、その先へ渡すときはクライアントとして振る舞う——同じプログラムのまま、接続ごとに役が変わります。
機械の側で言えば、もっと身近な例があります。会社で自分のパソコンのフォルダを共有に設定すると、同僚から見れば、そのパソコンはサーバです。その同じパソコンでブラウザを開けば、こんどはクライアントとして動いています。1台が両方の役を、同時にこなしています。

この記事のはじめに「サーバ=提供する側」と書いたのは、そういう意味です。役割を分ける仕組みであって、機械を2種類に分ける仕組みではありません。
なお、いま引いたのはHTTP という取り決めの仕様書で、クライアントサーバモデル全体の定義書ではありません。ただ、Webの世界の当事者がこう書いているという事実は、この言葉の性質をよく表しています。
まとめ
この記事では、クライアントサーバモデルの基本的な仕組みやメリット・デメリット、身近な例を紹介しました。
クライアントサーバモデルは、情報やサービスを提供する側(サーバ)と、利用する側(クライアント)に役割を分ける仕組みです。Webのやりとりを定めた HTTP の仕様書は、この2つを「その接続で果たす役割」と定義しています——つまり機械の種類ではありません。同じ1台が、つなぐ向きによって両方の役をこなします。
便利さも不便さも、この「1か所に集める」という形から来ています。まとめてあるから管理しやすく、まとめてあるからそこが止まると全員が止まる。表と裏は同じことの言い換えです。
ぜひ、身の回りのクライアントサーバモデルを探してみてください。使っているアプリが通信できないところでどうなるかを試すと、どこまでを手元がやっているのかが見えてきます。




