# クライアントサーバーアーキテクチャ

> For AI agents: the complete glossary index is at [llms.txt](https://glossary.cncf.io/ja/llms.txt).
> Markdown versions of every glossary page are available by appending `index.md` to the page URL.

クライアントサーバーアーキテクチャでは、アプリケーションを構築するロジック(あるいはコード)が2つ以上のコンポーネントに分割されます。
それは作業の実行を要求するクライアント(例えばウェブブラウザで実行されるGmailのウェブアプリケーション)と、その要求を満たす1つ以上のサーバー(例えばクラウド内のGoogleのコンピューターで実行されるメール送信サービス)です。
この例では、あなたが書いた送信メールは、クライアント(ウェブブラウザで実行されるウェブアプリケーション)によってサーバー(あなたの送信メールを受信者に転送するGmailのコンピューター)へ送られます。

これは、(例えばデスクトップアプリケーションのような)すべての作業を一つの場所で行う自己完結型のアプリケーションとは対照的です。
例えば、Microsoft Wordのようなワードプロセッサープログラムは、あなたのコンピューター上にインストールされ完全にあなたのコンピューター上で実行されます。

## 解決すべき問題はなんですか

クライアントサーバーアーキテクチャは、自己完結型のアプリケーションが抱える、定期的な更新という大きな課題を解決します。
自己完結型アプリでは、更新のたびにユーザーは最新バージョンをダウンロードしてインストールする必要があります。
Amazonの商品カタログ全体を、ブラウジングする前に自分のコンピューターにダウンロードすることを想像してみてください！

## どのように役に立つのでしょうか

リモートサーバーやサービスでアプリケーションロジックを実装することにより、オペレーターはクライアント側のロジックを変更することなく、それを更新できます。
これによって更新をより頻繁に行うことができます。
データをサーバー上に保存することで、多くのクライアントが同じデータを見て共有することができます。
オンラインのワードプロセッサーを使用することと、従来のオフラインのワードプロセッサーを使用することの違いを考えてみてください。
前者ではファイルはサーバー側に存在し、他のユーザーがサーバーからダウンロードするだけで共有することができます。
従来の世界では、ファイルはリムーバブルメディア(フロッピーディスク！)にコピーされ、個別に共有される必要がありました。

---

- Canonical URL: https://glossary.cncf.io/ja/client-server-architecture/
- Status: Completed
- 最終更新日 April 12, 2024: ` [ja] Fix spelling inconsistencies of the term computer (#3049) ` ([cb63035](https://github.com/cncf/glossary/commit/cb630353b9ce46df15aff27efdc3139fdb9ad4c2))
- Source: https://github.com/cncf/glossary/blob/main/content/ja/client-server-architecture.md
- License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)
