【Webの仕組み】
これまでのRuby on Rails での開発経験と、Webの仕組みを勉強した経験から、
利用者がRailsアプリケーションのURLをクリックした時に裏側ではどのような処理が実行されているのかをただ順番に列挙していく。
-
利用者がURLをクリック。
-
クライアントがURLをリクエストとして送信。
-
Webサーバーがそのリクエストを受信、解析し何を要求しているかを判断する。
-
HTMLをレンダリングするアプリケーションサーバーに処理を渡す。
-
アプリケーション(アプリケーションサーバー)は(これがMVCモデルのアプリケーションの場合)届いたURLを解析し、どのControllerのどのアクションを実行するかを判断する。これがroutes.rbに記述されている。
-
リクエストのURLからたとえば投稿一覧画面を見たいという要求であることが分かれば、Postコントローラーのindexアクションを実行し、Postモデルがデータベースから一覧画面に必要な情報を取ってくる。
-
データベースから取得したデータを変数に格納し、Viewを呼び出す。
-
Viewはそのデータを使ってHTML文書を作成しControllerへ返す。
-
HTML文書を受け取ったControllerは、そのデータをレスポンスとしてアプリケーションサーバーを通してWebサーバーに送り、Webサーバーから、クライアントへ送信する。
-
利用者が見ているブラウザ上に返されてきたHTML文書が表示される。
以上になります。プログラミングを勉強し始めてから1年ほど経ちましたが、知識不足なこともあるかと思いますので、何か間違った記述があればご指摘いただけると助かります。
【参考にしたサイト、書籍】
サイト:
https://www.javadrive.jp/rails/ini/index7.html
https://qiita.com/jnchito/items/3884f9a2ccc057f8f3a3
書籍 :
[Webを支える技術] (https://www.amazon.co.jp/Web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93-HTTP%E3%80%81URI%E3%80%81HTML%E3%80%81%E3%81%9D%E3%81%97%E3%81%A6REST-WEB-PRESS-plus/dp/4774142042/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1AXE9N0Z5R8DV&dchild=1&keywords=web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93&qid=1611540720&sprefix=web%E3%82%92%2Caps%2C267&sr=8-1)