【IT用語】クライアントとサーバーとは?現役エンジニアが初心者向けに簡単解説!

【IT用語】クライアントとサーバーとは?現役エンジニアが初心者向けに簡単解説!

こんにちは!
フリーランスエンジニアのかたやまです。

今回は、IT用語のクライアントとサーバーについて解説します。

クライアントとサーバーは、スマートフォンやパソコンを使っているすべての人が使用しています。日常的に使われている仕組みなので、イメージしやすいと思います。プログラミング学習では、必ず理解しておくべき内容なので、しっかり理解しておきましょう。

難しい用語は使わずに、簡単に解説していくので、ぜひ最後までご覧ください。

では、始めましょう!

クライアントとサーバーとは?

まずは、クライアントとサーバーをそれぞれ理解していきましょう!

クライアントとは?

クライアントを一言で説明すると、「サービスを使うコンピュータ」です。

クライアントは、サービスを使う側なので、お客さんとイメージしてください。クライアント(Client)の日本語訳は「依頼人、顧客、お客」という意味です。「サービスを使う側」と理解しておきましょう。

クライアントの例

クライアントの例を具体的に確認しましょう。日常にあるクライアントには以下のようなものがあります。

  • ノートパソコン
  • スマートフォン
  • スマートスピーカー

例えば、スマートフォンはメール、電話だけでなく、ゲームやアプリなど、さまざまなサービスを使っていると思います。このように、サービスを使う「窓口」となっているのがクライアントです。

サーバーとは?

次にサーバーです。サーバーを一言で説明すると、「サービスを提供するコンピュータ」です。

サーバーは、サービスを提供する側なので、お店とイメージしてください。サーバー(Server)の日本語訳は「提供する人」という意味です。「サービスを提供する側」と覚えておきましょう。

サーバーの例

サーバーの例を具体的に確認しましょう。日常で使われているサーバーは以下のようなものがあります。

  • Webサーバー
  • メールサーバー
  • ファイルサーバー
  • データベースサーバー
  • DNSサーバー
  • アプリケーションサーバー
  • FTPサーバー

「???」と思われた方も安心してください。この言葉を覚える必要は一切ありません!ここで重要なのは、私たちが日々の生活でサーバーを意識していないということです。

サーバーは、さまざまなサービスを提供するプロフェッショナルと理解していただければOKです。

クライアントとサーバーを図解

ここまでクライアントとサーバーをざっくり解説しました。ここまでのポイントは以下の2点です。

  1. クライアントは、サービスを使うコンピュータ
  2. サーバーは、サービスを提供するコンピュータ

この関係を図で表したのがコチラです。

このような関係図になります。クライアントがサーバーに対して情報の要求を行い、サーバーが結果を返してくれるという関係になります。具体的にイメージするために、実際の例で考えてみましょう。

  • クライアントがYoutubeの動画を要求 → サーバーが動画を返却 → クライアントで結果(動画)を確認
  • クライアントがWebサイトの表示を要求 → Webサイトの情報を返却 → クライアントで結果(Webサイト)を確認
  • クライアントがTwitterのタイムラインを要求 → サーバーがタイムラインの情報を返却 → クライアントで結果(タイムライン)を確認

必ず、クライアントが要求 → サーバーが結果を返却 → クライアントが結果を確認 という流れになります。

サーバーはどこにある?

ここまでの解説で、「サーバーはどこにあるの?」と思われた方も多いのではないでしょうか?

クライアントは普段から目にするのでイメージしやすいです。一方でサーバーがイメージしずらいのには理由があります。理由は、サーバーは主に地下室で管理されているからです。サーバーが故障すれば、サービス自体を提供できなくなるため、サーバーは一目のない場所で厳重に管理されています。具体的に以下のように管理されています。

  • サービスを止めないようにコンピュータの電源は24時間つけっぱなし
  • 停電対策もばっちり
  • 災害などから守るために地下室に置いている
  • サーバーが熱を発して故障しないために、常に冷房が付いている

このようにサーバーは安全かつ慎重に守られているため、私たちが目にすることはほとんどありません。

クライアントとサーバーの3つの特徴

クライアントとサーバーの関係に関する特徴を3つ紹介します。

1.クライアントとサーバーはネットで繋がっている

1つ目の特徴は、「クライアントとサーバーはネットで繋がっている」です。

当然の話ですが、クライアントとサーバーは別々の場所にあるため、情報の要求や結果の返却は、インターネットを通じて行われます。

スマホが圏外のとき、使いたいサービスを使えない経験をした人もいらっしゃると思います。この原因を具体化すると、インターネットが繋がっていないことで、「クライアントの要求がサーバーに届かない」または、「サーバーの結果返却がクライアントに届かない」という2つの原因が挙げられます。

このように、クライアントとサーバーにインターネットは不可欠です。

2.クライアントにデータを保存することをダウンロードと呼ぶ

2つ目の特徴は、「クライアントにデータを保存することをダウンロードと呼ぶ」です。

特徴というより、関連する用語の説明になります。

クライアントは、少しであれば情報を記憶することができます。スマートフォンを買うときに容量を選ぶのは、「クライアントが記憶できる容量」を決めるためです。クライアントに記憶させておけば、インターネットが繋がってなくてもサービスを利用することができます。

  • サーバーのデータをクライアントに保存することを「ダウンロード」と呼びます
  • クライアントがサーバーに情報を保存することを「アップロード」と呼びます

普段、口にする言葉でも、クライアント/サーバーという2つの関係まで考慮できている人は少ないです。よく使う言葉なので、明確に意味を理解しておきましょう。

3.クライアントとサーバーは決められたルールでやりとりする

3つ目の特徴は、「クライアントとサーバーは決められたルールでやりとりする」です。

世の中には、さまざまな種類のクライアントとサーバーが存在します。どんな種類でも、お互いがスムーズに通信できるのは、クライアントとサーバーのやりとりには決められたルールがあるからです。

言語で例えると、クライアントによって英語を喋ったり、日本語を喋ったり、フランス語を喋ったりするとサーバーは、混乱してしまします。サーバーの処理も遅くなり、結果の返却ができない場合があるかもしれません。

この混乱を防ぐために、クライアントとサーバーには明確な通信ルールが存在します。詳しい通信ルールを調べてみて興味を持たれた方は、通信のプロフェッショナルであるネットワークエンジニアが適職かもしれません。

まとめ

今回の「クライアントとサーバー」の解説は以上です。

簡単にまとめると、クライアントとサーバーは「サービスを使うコンピュータとサービスを提供するコンピュータのこと」と理解していただければOKです。

では、また次回!

プログラミングを学ぶカテゴリの最新記事