クライアント/サーバーモデルとは何か?Webの通信構造を初心者向けに解説

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してね!

目次

はじめに

サーバーの勉強をしていると、
必ず出てくる言葉があります。

クライアント/サーバーモデル

でも、

  • 言葉は知っている
  • なんとなく分かる気がする

という状態の人がほとんどです。

この記事では、

Webエンジニアとして必須の
クライアント/サーバーモデルの考え方

を、図がなくてもイメージできるように
噛み砕いて解説します。

クライアント/サーバーモデルとは何か?

クライアント/サーバーモデルとは、

「要求する側」と「応答する側」を分けた仕組み

です。

  • クライアント:要求する
  • サーバー:応答する

この役割分担が
Webの基本構造です。

クライアントとは何か?

クライアントとは、

サーバーに処理をお願いする側

です。

Webの世界では、主に

  • Webブラウザ
  • スマートフォンアプリ

がクライアントになります。

サーバーとは何か?(復習)

サーバーとは、

クライアントからの要求に応答する側

です。

  • データを返す
  • 処理結果を返す

という役割を持ちます。

なぜ役割を分けるのか?

理由はとてもシンプルです。

  • 処理を集中させるため
  • 管理しやすくするため
  • 多数の利用者に対応するため

👉
これが
Webがスケールできる理由です。

クライアント/サーバーの基本的な流れ

Web通信は
次の流れで行われます。

  1. クライアントが要求する
  2. サーバーが受け取る
  3. サーバーが処理する
  4. 結果を返す

👉
必ずこの順番です。

実際のWebでの例

例として
ブログを表示する場合を考えます。

  1. ブラウザでURLを入力
  2. ブラウザがリクエストを送信
  3. Webサーバーが受信
  4. HTMLを返す
  5. ブラウザが表示

これが
クライアント/サーバーモデルです。

クライアントとサーバーの責務分担

重要ポイントです。

  • クライアント:表示・操作
  • サーバー:処理・データ管理

👉
責務を分けることで安全・高速になる

Webエンジニアが意識すべき境界線

Web開発では常に、

これはクライアントの仕事か?
それともサーバーの仕事か?

を意識します。

この判断ができるようになると、

  • 設計がきれいになる
  • バグが減る
  • 実務で評価される

ようになります。

クライアントにやらせてはいけないこと

セキュリティの観点から、

  • 認証判断
  • 権限チェック
  • データの最終判断


必ずサーバー側で行います。

👉
JavaScriptでの判定は
「補助」レベルです。

サーバーにやらせすぎてもダメ?

一方で、

  • 表示制御
  • 入力チェック(簡易)

などは
クライアント側で行うと
UXが向上します。

👉
役割のバランスが大事です。

Webアプリとクライアント/サーバー

Webアプリでは、

  • クライアント:ブラウザ
  • サーバー:Web + AP + DB

という
分業体制になります。

Laravelは
この「サーバー側」を担当します。

APIとクライアント/サーバー

API通信も
同じ構造です。

  • クライアント:フロントエンド
  • サーバー:API

返すものが
HTMLかJSONかの違いだけです。

クライアント/サーバーモデルを理解すると何が良い?

  • フロント/バックの境界が見える
  • Laravelの役割が明確になる
  • 設計の会話についていける

👉
Webエンジニアとしての解像度が上がります。

Webエンジニアはどこまで理解すべきか?

結論です。

以下が説明できれば十分です。

  • 要求する側と応答する側
  • 処理と表示の分離
  • セキュリティはサーバー側

これが言えれば、
面接でも実務でも困りません。

次に学ぶべきこと

クライアント/サーバーモデルが分かったら、
次は👇です。

👉 Webサーバー・APサーバー・DBサーバーの役割の違い

まとめ

  • Webはクライアント/サーバー構造
  • 役割分担がすべての基本
  • Laravelはサーバー側担当
  • 設計の軸になる考え方

この記事は
サーバー基礎章の理解を一段引き上げる1本です。

あけお

あなたの挑戦を応援しています!!

よかったらシェアしてね!
目次