あけおスクールに多額のお金を支払う前に、僕の記事で学習してね!
はじめに
サーバーの勉強をしていると、
必ず出てくる言葉があります。
クライアント/サーバーモデル
でも、
- 言葉は知っている
- なんとなく分かる気がする
という状態の人がほとんどです。
この記事では、
Webエンジニアとして必須の
クライアント/サーバーモデルの考え方
を、図がなくてもイメージできるように
噛み砕いて解説します。
クライアント/サーバーモデルとは何か?
クライアント/サーバーモデルとは、
「要求する側」と「応答する側」を分けた仕組み
です。
- クライアント:要求する
- サーバー:応答する
この役割分担が
Webの基本構造です。
クライアントとは何か?
クライアントとは、
サーバーに処理をお願いする側
です。
Webの世界では、主に
- Webブラウザ
- スマートフォンアプリ
がクライアントになります。
サーバーとは何か?(復習)
サーバーとは、
クライアントからの要求に応答する側
です。
- データを返す
- 処理結果を返す
という役割を持ちます。
なぜ役割を分けるのか?
理由はとてもシンプルです。
- 処理を集中させるため
- 管理しやすくするため
- 多数の利用者に対応するため
👉
これが
Webがスケールできる理由です。
クライアント/サーバーの基本的な流れ
Web通信は
次の流れで行われます。
- クライアントが要求する
- サーバーが受け取る
- サーバーが処理する
- 結果を返す
👉
必ずこの順番です。
実際のWebでの例
例として
ブログを表示する場合を考えます。
- ブラウザでURLを入力
- ブラウザがリクエストを送信
- Webサーバーが受信
- HTMLを返す
- ブラウザが表示
これが
クライアント/サーバーモデルです。
クライアントとサーバーの責務分担
重要ポイントです。
- クライアント:表示・操作
- サーバー:処理・データ管理
👉
責務を分けることで安全・高速になる
Webエンジニアが意識すべき境界線
Web開発では常に、
これはクライアントの仕事か?
それともサーバーの仕事か?
を意識します。
この判断ができるようになると、
- 設計がきれいになる
- バグが減る
- 実務で評価される
ようになります。
クライアントにやらせてはいけないこと
セキュリティの観点から、
- 認証判断
- 権限チェック
- データの最終判断
は
必ずサーバー側で行います。
👉
JavaScriptでの判定は
「補助」レベルです。
サーバーにやらせすぎてもダメ?
一方で、
- 表示制御
- 入力チェック(簡易)
などは
クライアント側で行うと
UXが向上します。
👉
役割のバランスが大事です。
Webアプリとクライアント/サーバー
Webアプリでは、
- クライアント:ブラウザ
- サーバー:Web + AP + DB
という
分業体制になります。
Laravelは
この「サーバー側」を担当します。
APIとクライアント/サーバー
API通信も
同じ構造です。
- クライアント:フロントエンド
- サーバー:API
返すものが
HTMLかJSONかの違いだけです。
クライアント/サーバーモデルを理解すると何が良い?
- フロント/バックの境界が見える
- Laravelの役割が明確になる
- 設計の会話についていける
👉
Webエンジニアとしての解像度が上がります。
Webエンジニアはどこまで理解すべきか?
結論です。
以下が説明できれば十分です。
- 要求する側と応答する側
- 処理と表示の分離
- セキュリティはサーバー側
これが言えれば、
面接でも実務でも困りません。
次に学ぶべきこと
クライアント/サーバーモデルが分かったら、
次は👇です。
👉 Webサーバー・APサーバー・DBサーバーの役割の違い


まとめ
- Webはクライアント/サーバー構造
- 役割分担がすべての基本
- Laravelはサーバー側担当
- 設計の軸になる考え方
この記事は
サーバー基礎章の理解を一段引き上げる1本です。



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



