🖥️
クライアント-サーバー
伝統的なリクエスト-レスポンスモデル
最も伝統的で広く使われているアーキテクチャです。クライアントがリクエストを送信し、サーバーがレスポンスを返す単方向フローで、HTTP/HTTPSプロトコルが代表的です。
構造ダイアグラム
🌐
ブラウザ
📱
モバイルアプリ
リクエスト
→
←
レスポンス
🖥️
サーバー
API / Web Server
↔
🗄️
データベース
フロー説明
- クライアントがサーバーにHTTPリクエストを送信
- サーバーがリクエストを受信しビジネスロジックを実行
- 必要に応じてデータベースを照会/保存
- サーバーがクライアントにレスポンスを返却
動作フロー
1
クライアントがサーバーにHTTPリクエストを送信(GET、POSTなど)
2
サーバーがリクエストを受信して処理
3
サーバーがデータベース照会/ビジネスロジックを実行
4
サーバーがクライアントにHTTPレスポンスを返却
メリット
- ✓ 実装がシンプル
- ✓ デバッグが容易
- ✓ キャッシュの活用が可能
- ✓ 標準化されたプロトコル
デメリット
- ✗ サーバーがボトルネックになる可能性
- ✗ リアルタイム更新が困難
- ✗ サーバーダウン時にサービス中断
- ✗ クライアントが常に先にリクエストする必要がある
ユースケース
Webアプリケーション(ブラウザ ↔ Webサーバー)
REST API
GraphQL API
モバイルアプリのバックエンド