コンピュータネットワークにおけるサーバ(英:Server)とは、クライアントに対して、何らかのサービスを提供するシステムのことであり、「ハードウェアとしてのサーバ」、「ソフトウェアとしてのサーバ」及び、これら両方をあわせた「システムとしてのサーバ」がある。複数のコンピュータが相互にネットワークで接続された環境において、特定、または、不特定の多数の利用者に情報を伝達したい場合、一箇所にその情報を蓄積しておき、利用を希望する利用者がその必要に応じて、蓄積場所に問い合わせることで、情報を得ることが出来るような場合、それは、サーバといえる。ただし、サーバとクライアントは必ずしも違うコンピュータにあるとは限らず、同一のコンピュータにサーバプロセスとクライアントプロセスが稼動することもある。

Webや電子メールのようなサービスを提供するサーバアプリケーションソフト(ApacheやXmailなど)は、ブラウザやメーラーのようなクライアント側のソフトに対して情報を送信する。また、そういったサーバアプリケーションを実行するコンピュータをサーバマシンと呼ぶ。一般的にサーバマシンは不特定多数のクライアントに対して情報を送信するため、高機能が求められる傾向にある。そのためパーソナルコンピュータとは、ハードウェア構成、機能性に差別化が図られる。

しかし、近年はハードウェア性能の向上によって、個人レベルでの情報を配信するようないわゆる自宅サーバ程度であれば、パーソナルコンピュータにもサーバ用途に耐えうる性能を持つものも存在する。Windows XPには、パーソナルコンピュータからWebへ情報を公開できるソフトIISが標準付属している(セキュリティホール対策のためOSインストールと別途のインストールが必要である。)またMac OSにもApacheをベースにした同様のパーソナルウェブ共有という機能が付属している。

サーバアプリケーション

サーバには、クライアントに提供するサービスにより様々な種類があり、必要に応じてネットワーク上に複数のサーバを設置し組み合わせて使用する。例えばWebサービスとメールサービスのサーバアプリケーションを1台で同時に実行して、ウェブサーバとメールサーバを兼ねることもできるが、負荷や管理などの都合から1台ずつのサーバに分けて運用することもある。

また、同じサーバアプリケーションを複数台のサーバで実行しながら負荷を分散し、耐障害性を向上させることができる(スケールアウト)。

ウェブサーバなどで、アクセスが集中して負荷が増大することにより、処理が追いつかなくなって見かけ上サーバが機能を停止したようになる、いわゆる「飛ぶ」あるいは「クラッシュする」状態に陥ることがある。また「飛ぶ」まではいかなくても、極端に転送量が小さくなって、ウェブサイトのページを開くにもとても長い時間がかかることがある。

オンラインゲームなどでは膨大な量のデータやユーザーによるトラフィックのため、常にサーバはクラッシュの危機にさらされている。さらにイベント時期やパッチファイル配布のタイミングには天文学的な量のデータの転送があるため、特にクラッシュしやすい。このような事例を避けるため、有名なオンラインゲームでは多数のサーバを共通のソフトウエア構成にして運用し、1台当たりにかかる負荷を分散している。

現在の一般的なパソコン用OS(Windows XPやMacintoshなど)では、上記サーバー機能をOSの機能の一つとして持っているため、サーバ的な利用を行なうことが出来る。

フリー百科事典『ウィキペディア(Wikipedia)』参照