最終更新日:2026年9月22日
fe fe-technology system-architecture client-server
まず結論
クライアントサーバ方式は、システムの機能を「サービスを要求する側」と「サービスを提供する側」に分ける方式です。
クライアント
「処理してください」
│
│ 要求
▼
サーバ
「処理します」
│
│ 結果
▼
クライアント
- クライアント:サービスを要求する側
- サーバ:サービスを提供する側
基本情報技術者試験では、次の一文を判断軸にします。
機械の種類ではなく、「要求する側」と「提供する側」という役割で判断する。
また、クライアントサーバ方式は、異なる役割・機能を分担する垂直分散の考え方として整理できます。
垂直分散 → 異なる役割を分担
水平分散 → 同じ役割を複数に分散
直感的な説明
レストランをイメージすると分かりやすくなります。
客
「料理をお願いします」
│ 注文
▼
キッチン
「料理を作ります」
│ 料理
▼
客
コンピュータに置き換えると、
クライアント
「このデータをください」
│
▼
データベースサーバ
「検索して返します」
│
▼
クライアント
となります。
大切なのは、パソコンだからクライアント、高性能コンピュータだからサーバ、と決まるわけではないことです。
× PC = クライアント
× ワークステーション = サーバ
○ 要求する役割 = クライアント
○ 提供する役割 = サーバ
英語でも、client requests, server provides と考えると覚えやすくなります。
垂直分散と水平分散
ここは試験で混同しやすいポイントです。
垂直分散
異なる機能・役割を分ける考え方です。
システム
│
┌─────┴─────┐
▼ ▼
画面・要求 データ処理
クライアント サーバ
上下に役割を分けるイメージです。
水平分散
同じような機能・役割を複数のコンピュータへ分散する考え方です。
処理
│
┌──────┼──────┐
▼ ▼ ▼
サーバA サーバB サーバC
同じ役割を分担
複数台で処理を受け持ち、負荷を分散するイメージです。
垂直分散
→ 役割を「分ける」
水平分散
→ 同じ役割を「増やして分ける」
定義
クライアントサーバ方式は、ネットワーク上の処理を、サービスを要求するクライアントと、サービスを提供するサーバに分けて実行するシステム構成です。
例えば、データベースを利用するシステムなら、
[クライアント]
画面表示
入力
検索要求
│
▼
[DBサーバ]
データ保存
検索処理
更新処理
のように役割を分担できます。
クライアント
サーバへ処理やサービスを要求します。
例:
- Webページを要求する
- データベース検索を要求する
- ファイルを要求する
サーバ
クライアントからの要求を受けて、サービスを提供します。
例:
- Webサーバ
- データベースサーバ
- ファイルサーバ
2層と3層
クライアントサーバ方式では、役割の分け方によって2層や3層の構成があります。
2層
クライアント
│
▼
DBサーバ
3層
クライアント
│
▼
アプリケーションサーバ
│
▼
DBサーバ
層が増えても、役割を分けてサービスを要求・提供するという基本は同じです。
どんな場面で使う?
データベースを複数利用者で利用する
PC A ─┐
PC B ─┼→ DBサーバ
PC C ─┘
データをサーバ側で管理し、各クライアントから利用できます。
Webシステム
Webブラウザも身近な例です。
ブラウザ
「ページをください」
│
▼
Webサーバ
「ページを返します」
役割ごとに機能を分離する
クライアント側の画面処理とサーバ側のデータ処理などを分けることで、役割を整理できます。
よくある誤解・混同
パソコンがクライアント、ワークステーションがサーバ
違います。
機械の種類
×
役割で決まる
○
試験では「何のコンピュータか」ではなく、サービスを要求するか、提供するかを見ます。
データを各端末へ分散する方式
クライアントサーバ方式の定義ではありません。
データベースを利用する典型的な構成では、データをDBサーバ側で管理し、クライアントが要求を送ります。
クライアント
│ 検索要求
▼
DBサーバ
│ 結果
▼
クライアント
クライアントサーバ方式 = 水平分散
ここが特に重要です。
クライアント
↓
サーバ
役割が違う
→ 垂直分散
一方、
サーバA サーバB サーバC
\ │ /
同じ処理
のように、同じ役割を複数台へ分けるのが水平分散です。
サーバは必ず1台
「サーバ」は物理的な1台のコンピュータそのものではなく、サービスを提供する役割を指します。
構成によって複数台のサーバを利用することもあります。
まとめ(試験直前用)
- クライアント = サービスを要求する側
- サーバ = サービスを提供する側
- PCやワークステーションなど、機械の種類で判断しない
- クライアントサーバ方式は役割・機能を分ける
- 異なる役割を分ける → 垂直分散
- 同じ役割を複数へ分ける → 水平分散
- データベースを端末へ分散することが定義ではない
「要求する側」と「提供する側」に分かれていたら、まずクライアントサーバ方式を考える。