目的
RailsチュートリアルではMVCといったRailsアプリケーション特有の全体像については書かれていますが、それ以前の一般的なシステムのインフラについてはほぼ載っていないのが現状です。今回はそうした一般的なシステム全体像を含めて解説して、Railsの全体像について理解を深めていきたいと思います。
流れ
①WebブラウザでURLをアクセスする時DNSサーバーを使ってドメインIPアドレスの取得作業を行う。
②DNSサーバーはIP アドレスを返す。
③ブラウザはサーバのIPアドレスにHTTPリクエストを行う。
④Webサーバーは静的コンテンツを見せて、動的コンテンツについてはAPサーバーに要求する。
⑤APサーバーがRailsで作成されたアプリケーションを実行して、ルーター(Route.rb)がリクエストをコントローラに振り分ける。
⑥コントローラーが動的なコンテンツについてはModelに行きデータベースとの通信を行い、必要な情報をデータベースから取り出し、コントローラーに返す。コントローラーがその情報を保存し、ビューに通信を行いHTMLを生成する。
⑦コントローラは、ビューで生成されたHTMLを受け取り、ブラウザに返す。(HTTPレスポンス)
まとめると、DNSサーバーを経由してIPアドレスを取得→ブラウザがHTTPリクエストを行い、Web3層構造やMVCを経由し静的・動的コンテンツを取得→それらの情報を受け取りHTTPレスポンスを行うという流れです。
まとめ
RailsについてRailsチュートリアル等でMVCの流れなどはよく載っていますが、それ以前の流れについては詳しく載っているものは少ないと思います。Railsエンジニアの方の意見を聞きながらまとめたものの、自信がないので間違っている部分などございましたら、お知らせください。