こんにちは!
フリーランスエンジニアのかたやまです。
今回は、IT用語のクライアントとサーバーについて解説します。
クライアントとサーバーは、スマートフォンやパソコンを使っているすべての人が使用しています。日常的に使われている仕組みなので、イメージしやすいと思います。プログラミング学習では、必ず理解しておくべき内容なので、しっかり理解しておきましょう。
難しい用語は使わずに、簡単に解説していくので、ぜひ最後までご覧ください。
では、始めましょう!
クライアントとサーバーとは?
まずは、クライアントとサーバーをそれぞれ理解していきましょう!
クライアントとは?
クライアントを一言で説明すると、「サービスを使うコンピュータ」です。
クライアントは、サービスを使う側なので、お客さんとイメージしてください。クライアント(Client)の日本語訳は「依頼人、顧客、お客」という意味です。「サービスを使う側」と理解しておきましょう。
クライアントの例
クライアントの例を具体的に確認しましょう。日常にあるクライアントには以下のようなものがあります。
- ノートパソコン
- スマートフォン
- スマートスピーカー
例えば、スマートフォンはメール、電話だけでなく、ゲームやアプリなど、さまざまなサービスを使っていると思います。このように、サービスを使う「窓口」となっているのがクライアントです。
サーバーとは?
次にサーバーです。サーバーを一言で説明すると、「サービスを提供するコンピュータ」です。
サーバーは、サービスを提供する側なので、お店とイメージしてください。サーバー(Server)の日本語訳は「提供する人」という意味です。「サービスを提供する側」と覚えておきましょう。
サーバーの例
サーバーの例を具体的に確認しましょう。日常で使われているサーバーは以下のようなものがあります。
- Webサーバー
- メールサーバー
- ファイルサーバー
- データベースサーバー
- DNSサーバー
- アプリケーションサーバー
- FTPサーバー
「???」と思われた方も安心してください。この言葉を覚える必要は一切ありません!ここで重要なのは、私たちが日々の生活でサーバーを意識していないということです。
サーバーは、さまざまなサービスを提供するプロフェッショナルと理解していただければOKです。
クライアントとサーバーを図解
ここまでクライアントとサーバーをざっくり解説しました。ここまでのポイントは以下の2点です。
- クライアントは、サービスを使うコンピュータ
- サーバーは、サービスを提供するコンピュータ
この関係を図で表したのがコチラです。
このような関係図になります。クライアントがサーバーに対して情報の要求を行い、サーバーが結果を返してくれるという関係になります。具体的にイメージするために、実際の例で考えてみましょう。
- クライアントがYoutubeの動画を要求 → サーバーが動画を返却 → クライアントで結果(動画)を確認
- クライアントがWebサイトの表示を要求 → Webサイトの情報を返却 → クライアントで結果(Webサイト)を確認
- クライアントがTwitterのタイムラインを要求 → サーバーがタイムラインの情報を返却 → クライアントで結果(タイムライン)を確認
必ず、クライアントが要求 → サーバーが結果を返却 → クライアントが結果を確認 という流れになります。
サーバーはどこにある?
ここまでの解説で、「サーバーはどこにあるの?」と思われた方も多いのではないでしょうか?
クライアントは普段から目にするのでイメージしやすいです。一方でサーバーがイメージしずらいのには理由があります。理由は、サーバーは主に地下室で管理されているからです。サーバーが故障すれば、サービス自体を提供できなくなるため、サーバーは一目のない場所で厳重に管理されています。具体的に以下のように管理されています。
- サービスを止めないようにコンピュータの電源は24時間つけっぱなし
- 停電対策もばっちり
- 災害などから守るために地下室に置いている
- サーバーが熱を発して故障しないために、常に冷房が付いている
このようにサーバーは安全かつ慎重に守られているため、私たちが目にすることはほとんどありません。
クライアントとサーバーの3つの特徴
クライアントとサーバーの関係に関する特徴を3つ紹介します。
1.クライアントとサーバーはネットで繋がっている
1つ目の特徴は、「クライアントとサーバーはネットで繋がっている」です。
当然の話ですが、クライアントとサーバーは別々の場所にあるため、情報の要求や結果の返却は、インターネットを通じて行われます。
スマホが圏外のとき、使いたいサービスを使えない経験をした人もいらっしゃると思います。この原因を具体化すると、インターネットが繋がっていないことで、「クライアントの要求がサーバーに届かない」または、「サーバーの結果返却がクライアントに届かない」という2つの原因が挙げられます。
このように、クライアントとサーバーにインターネットは不可欠です。
2.クライアントにデータを保存することをダウンロードと呼ぶ
2つ目の特徴は、「クライアントにデータを保存することをダウンロードと呼ぶ」です。
特徴というより、関連する用語の説明になります。
クライアントは、少しであれば情報を記憶することができます。スマートフォンを買うときに容量を選ぶのは、「クライアントが記憶できる容量」を決めるためです。クライアントに記憶させておけば、インターネットが繋がってなくてもサービスを利用することができます。
- サーバーのデータをクライアントに保存することを「ダウンロード」と呼びます
- クライアントがサーバーに情報を保存することを「アップロード」と呼びます
普段、口にする言葉でも、クライアント/サーバーという2つの関係まで考慮できている人は少ないです。よく使う言葉なので、明確に意味を理解しておきましょう。
3.クライアントとサーバーは決められたルールでやりとりする
3つ目の特徴は、「クライアントとサーバーは決められたルールでやりとりする」です。
世の中には、さまざまな種類のクライアントとサーバーが存在します。どんな種類でも、お互いがスムーズに通信できるのは、クライアントとサーバーのやりとりには決められたルールがあるからです。
言語で例えると、クライアントによって英語を喋ったり、日本語を喋ったり、フランス語を喋ったりするとサーバーは、混乱してしまします。サーバーの処理も遅くなり、結果の返却ができない場合があるかもしれません。
この混乱を防ぐために、クライアントとサーバーには明確な通信ルールが存在します。詳しい通信ルールを調べてみて興味を持たれた方は、通信のプロフェッショナルであるネットワークエンジニアが適職かもしれません。
まとめ
今回の「クライアントとサーバー」の解説は以上です。
簡単にまとめると、クライアントとサーバーは「サービスを使うコンピュータとサービスを提供するコンピュータのこと」と理解していただければOKです。
では、また次回!