コンピュータサイエンスにおいて、クライアント・サーバーとは、クライアントシステムとサーバーシステムの2つの部分から構成されるソフトウェアアーキテクチャモデルであり、どちらもコンピュータネットワーク上または同じコンピュータ上で通信します。 クライアント・サーバー・アプリケーションは、クライアントとサーバーの両方のソフトウェアで構成される分散システムです。 クライアントプロセスは常にサーバーへの接続を開始し、サーバープロセスは常にクライアントからの要求を待っています。
クライアントプロセスとサーバープロセスの両方が同じコンピュータ上で動作している場合、これはシングルシートセットアップと呼ばれます。
関連するソフトウェアアーキテクチャのもう一つのタイプは、ピアツーピアとして知られています。これは、各ホストやアプリケーションのインスタンスが、(クライアント・サーバーモデルの集中型サーバーとは異なり)同時にクライアントとサーバーの両方として機能することができ、それぞれが同等の責任とステータスを持つためです。
クライアントとサーバーの関係は、クライアントがどのようにしてサーバーにサービスを要求し、サーバーがどのようにして要求を受け入れ、処理し、要求された情報をクライアントに返すかという関係を表しています。 クライアントとサーバーの間のやり取りは、多くの場合、シーケンス図を使って記述します。
現在では、クライアント・サーバー型とP2P型の両方のアーキテクチャが広く普及しています。
基本的なクライアント・サーバー型のソフトウェア・アーキテクチャでは、クライアントとサーバーの2種類のホストしか使用しません。
クライアントサーバー型のソフトウェアアーキテクチャは、クライアントとサーバーの2種類のホストのみを使用するのが基本です。
クライアント・サーバ・ソフトウェア・アーキテクチャは、ネットワーク・コンピューティングの基本的なモデルのひとつです。
クライアント・サーバー・ソフトウェア・アーキテクチャは、ネットワーク・コンピューティングの基本モデルのひとつです。 電子メールの交換、ウェブアクセス、データベースアクセスなど、ネットワーク上の標準的な機能は、クライアント-サーバーモデルに基づいています。 例えば、Webブラウザはユーザーコンピュータのクライアントプログラムであり、世界中のどのWebサーバの情報にもアクセスすることができます。