クライアントとサーバの概念

前へ << IPアドレスとホスト名 ポート番号 >> 次へ

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

ここでは WWW を例に出します。 クライアントとはネットサーフィンをしている あなたのコンピュータのことです。 もっと狭義には、あなたが操作しているブラウザのことです。

サーバとはあなたがアクセスしているwww.cs.gunma-u.ac.jp の ことです。もっと狭義には、www.cs.gunma-u.ac.jp の中で 動いている WWW サーバプログラムのことです。

あなたのブラウザ (クライアント) が「この web を見たいので内容を送ってくれ」 とリクエストを WWW サーバに送ると、WWW サーバは指定された web の内容を 送り返すのです。 つまりクライアントが依頼 (=client) し、サーバはそれを受けて 奉仕する (=service) する、という関係です。

これってソフトウェアの話? ハードウェアの話?

WWW クライアントと言えばブラウザのことを指しますから、 クライアントはソフトウェアであることは理解していても、 WWW サーバというのは「WWW サーバというソフトウェア」を指すのか、 それとも「WWW サーバという特殊なハードウェア」のことを指しているのか 混乱されている人を時々見かけますので、ここで説明しておきます。

一般的にはクライアントもサーバもソフトウェア、ただのプログラムです。 ご存知のように、一台のマシンの中では同時に複数のプログラムを 動かすことができます (Windows 上で Word と Excel を同時に実行できるのと同じです)。 ということは一台のコンピュータの中で 複数のサーバソフトウェアを動かすこともできるのです。 よくある例としては、一台のコンピュータで WWW サーバ、 SMTP サーバ、POP3 サーバなどを動かすものです。

ですから、WWW サーバと言えば「WWW サーバプログラム」の事を指す場合も ありますが、文脈によっては「WWW サーバプログラムが動いているマシン」 という意味でも使われます。

例えば「このプロバイダでは、WWW サーバと SMTP サーバは同じである」 というのは、1つのマシン上で WWW サーバプログラムと SMTP サーバプログラムが 動いていることを意味します。一方、「WWW サーバが落ちている」と言う場合は、 「WWW サーバプログラムが起動していない」という意味かもしれませんし、 「WWW サーバプログラムが動いているマシン自体が落ちている」 という意味かもしれません。文脈次第です。

ただし、このページでは「サーバ=サーバプログラム」として使います。

なお、「サーバマシン」と言うと数百万もするような高価なマシンが使われていると 思うかもしれませんが、大抵のプロバイダや企業では、普通の PC を使っています。 Pentium-III どころか、Pentium-133 や i486 を使っている ところもたくさんあります。

と言っても、大規模なプロバイダでは 商用ワークステーションを採用しているところもあります。 テラバイトクラスのハードディスク・CPU の2重化、 RAID などを実現するには PC では不足で、数百万円・数千万円の UNIX マシンを使っている場合もあります。
前へ << IPアドレスとホスト名 ポート番号 >> 次へ

ご意見・ご指摘は Twitter: @68user までお願いします。