Webデータの流れ

  • クライアントPCからWebサーバまで

    1. Webブラウザからrequest
    2. 名前解決@DNS
    3. Webサーバがrequestを受け付ける
    4. Webサーバが静的コンテンツか、動的コンテンツかを判断
    5. データの取得(「システムコール」として実行)
    6. サーバ内のHDDから取得
    7. アプリケーションサーバへ問い合わせ
      1. NICに対してネットワーク通信がrequest
      2. スイッチ経由でアプリケーションサーバへの問い合わせ
  • Webサーバからアプリケーションサーバまで

    1. requestがNIC経由で、カーネルが割り込み処理として受け付ける
    2. スレッドがWebサーバからのrequestを受け付ける
    3. スレッドが「システムコール」としてDBへ問い合わせる
      • DBサーバへはNIC経由で問い合わせる
  • アプリケーションサーバからDBサーバまで

    1. DBのプロセスがrequestを受け付ける
    2. キャッシュにあるかを確認(あればデータを返す)
    3. システムコール」としてHDDヘrequestを送る
    4. HDDからrequest元のプロセスへデータを送る
    5. プロセスはメモリにデータをキャッシュとして保存
    6. データ(requestの結果)をアプリケーションサーバへ送る
  • DBサーバからアプリケーションサーバまで

    1. NIC経由でデータはスレッドへ渡される
    2. スレッドでファイルを作成(ERBファイルからHTMLファイル作成とか)
    3. Webサーバへデータを送信
  • アプリケーションサーバからWebサーバまで

    1. NIC経由でスレッドへデータが渡される
    2. スレッドからブラウザへデータを渡す
    3. ブラウザへデータが反映される