About

クライアント-サーバーモデルとは?リクエストとレスポンスの基本

WebSocket・SSE と比べる前の出発点

最も伝統的で広く使われているアーキテクチャです。クライアントがリクエストを送信し、サーバーがレスポンスを返す単方向フローで、HTTP/HTTPSプロトコルが代表的です。

構造ダイアグラム

🌐
ブラウザ
📱
モバイルアプリ
リクエスト →
← レスポンス
🖥️
サーバー
API / Web Server
↔
🗄️
データベース
フロー説明
  1. クライアントがサーバーにHTTPリクエストを送信
  2. サーバーがリクエストを受信しビジネスロジックを実行
  3. 必要に応じてデータベースを照会/保存
  4. サーバーがクライアントにレスポンスを返却

動作フロー

1

クライアントがサーバーにHTTPリクエストを送信(GET、POSTなど)

2

サーバーがリクエストを受信して処理

3

サーバーがデータベース照会/ビジネスロジックを実行

4

サーバーがクライアントにHTTPレスポンスを返却

メリット

  • ✓ 実装がシンプル
  • ✓ デバッグが容易
  • ✓ キャッシュの活用が可能
  • ✓ 標準化されたプロトコル

デメリット

  • ✗ サーバーがボトルネックになる可能性
  • ✗ リアルタイム更新が困難
  • ✗ サーバーダウン時にサービス中断
  • ✗ クライアントが常に先にリクエストする必要がある

ユースケース

Webアプリケーション(ブラウザ ↔ Webサーバー) REST API GraphQL API モバイルアプリのバックエンド
WebSocketとは?サーバーとブラウザが双方向でやりとりする仕組み →