はじめに
Webアプリを作っていると「クライアント」「サーバー」という言葉をよく聞きます。
私の中でこの言葉の意味が曖昧になっていたので、調べてまとめました。
ことれいのもり
2025-11-13
Webアプリを作っていると「クライアント」「サーバー」という言葉をよく聞きます。
私の中でこの言葉の意味が曖昧になっていたので、調べてまとめました。
クライアント・サーバーというのは、やりとりをする関係の中の立場を表す言葉です。
サーバー: データなどを提供する側
クライアント: データなどを受け取って利用する側ポイントは、あくまで立場を表すだけという部分です。
ある状況においてはクライアント、ある状況においてはサーバー、とどちらにもなりうる可能性があります。
レストランで考えてみましょう。
【パターン1】
客(クライアント): 料理を注文して受け取る
ウェイター(サーバー): 注文された料理を客に出す
客がクライアント、ウェイターがサーバーです。
クライアントは受け取る側、この例だと料理を受け取る立場です。 サーバーは提供する側、この例だと料理を提供する立場です。しかし、ウェイターがクライアントになるパターンもあります。
【パターン2】
ウェイター(クライアント): キッチンに伝え、できた料理を受け取る
キッチン(サーバー):料理を作る人
キッチン、ウェイターという二人に絞って見た場合、ウェイターがクライアント、キッチンがサーバーになります。
ウェイターは受け取る側、この例だとキッチンで作った料理を受け取る立場です。
キッチンは提供する側、この例だと料理を作って提供する立場です。
どこを中心として見るか?で、クライアント・サーバーの立場が変わることが分かると思います。
今は例としてレストランで取り上げましたが、Webの世界でも同じです。
誰と誰がやりとりをしているのか?が決まれば、その中でクライアント・サーバーという立場が決まるだけです。
ではWebの世界で考えてみましょう。
一般的にイメージされるのがブラウザとサーバーです。
Webブラウザ(クライアント): Webブラウザ。Chrome,Firefox, Safariなど
Webサーバー(サーバー): Webブラウザから要求があったページを返す①GoogleChromeなどで検索してページを見たいとき、該当するページが見たいとブラウザがクライアントに要求をします。(リクエスト)
②Webサーバーは要求内容を解析し、処理をしてページを準備します。
③Webサーバーはクライアントに該当するページを返却します。(レスポンス)
これはイメージしやすいと思います。
ただ、先ほども話したようにクライアント・サーバーは立場によって変わります。
Webサーバーもクライアントになり得る場合があるのです。
Webサーバーがクライアントになる例を見てみましょう。
Webサーバー(クライアント): ページを表示するために必要な情報を要求する
データベース(サーバー): 要求に応じたデータを返す例えばショッピングサイトで商品を見たい時をイメージしてください。
①Webサーバーがデータベースに対して「商品データをください」と要求をします。(リクエスト)
②データベースは受け取った内容から、商品名や価格など必要な情報を準備します。
③データベースは必要な情報を返却します。(レスポンス)
Webサーバー・データベースという2つの世界で見れば、Webサーバーがクライアントでデータベースがサーバーです。
ブラウザも一緒に表示すると次のようになります。
【WebブラウザとWebサーバーの世界】
Webブラウザ:クライアント
Webサーバー:サーバー
【Webサーバーとデータベースの世界】
Webサーバー:クライアント
データベース:サーバー
立場によってクライアント・サーバーが変わるという意味が分かるかと思います。
クライアントが受け取る側で、 サーバーが提供する側ということを覚えておけば、あとは立場によって自動的に決まります。クライアント・サーバーが立場によって変わるということを解説しました。
私自身、今まではクライアントがWebブラウザで、サーバーがWebサーバーという不変のものと思っていました。
一つの例を知るのではなく、核となる意味を知ることが大事ですね!