Webデータの流れ
クライアントPCからWebサーバまで
- Webブラウザからrequest
- 名前解決@DNS
- Webサーバがrequestを受け付ける
- Webサーバが静的コンテンツか、動的コンテンツかを判断
- データの取得(「システムコール」として実行)
- サーバ内のHDDから取得
- アプリケーションサーバへ問い合わせ
- NICに対してネットワーク通信がrequest
- スイッチ経由でアプリケーションサーバへの問い合わせ
Webサーバからアプリケーションサーバまで
- requestがNIC経由で、カーネルが割り込み処理として受け付ける
- スレッドがWebサーバからのrequestを受け付ける
- スレッドが「システムコール」としてDBへ問い合わせる
- DBサーバへはNIC経由で問い合わせる
アプリケーションサーバからDBサーバまで
- DBのプロセスがrequestを受け付ける
- キャッシュにあるかを確認(あればデータを返す)
- 「システムコール」としてHDDヘrequestを送る
- HDDからrequest元のプロセスへデータを送る
- プロセスはメモリにデータをキャッシュとして保存
- データ(requestの結果)をアプリケーションサーバへ送る
DBサーバからアプリケーションサーバまで
- NIC経由でデータはスレッドへ渡される
- スレッドでファイルを作成(ERBファイルからHTMLファイル作成とか)
- Webサーバへデータを送信
アプリケーションサーバからWebサーバまで
- NIC経由でスレッドへデータが渡される
- スレッドからブラウザへデータを渡す
- ブラウザへデータが反映される