Webサーバとアプリケーションサーバの違い

17日目です。

railsの学習を進めていたのですが、ちょくちょく出てくるこの単語がとても気になったので調べました。「puma」

rails s」のコマンド打ったら、ターミナルに大量に「puma」「puma」「puma」、、、と出てくるので、気にならないわけがありません。

 

調べてわかったこと

・pumaとは「アプリケーションサーバ」のこと。

・・・アプリケーションサーバって具体的に何をするんだろう

 

調べた上で、今の自分でもわかりやすいようものすごいざっくり解釈しました。

アプリケーションサーバとは

Railsアプリケーションを動かしているもの。WEBサーバからリクエストを受け取ると、リクエストを処理してレスポンスをWEBサーバに返す(最終的にユーザーに返す)。

 

今度はWEBサーバがなるものが出てきました。

WEBサーバとは

 

・ユーザーから送られてきた自サイトへのリクエストを受け取り、処理を加えるプログラム。静的なリクエストや多くの処理はWEBサーバで処理するが、Railsアプリケーションがリクエストを処理する必要がある場合、アプリケーションサーバに投げる。

 

参照:https://qiita.com/jnchito/items/3884f9a2ccc057f8f3a3 

チェリー本の著者伊藤さんの記事です。

Railsは「ビューがプラウザからリクエストを受け取り、ルーティングがコントローラーのどのメソッド(やモデルを介してのDB取得)を使ってビューに返すか?という概念を学んだので、アプリケーションサーバなのか?とも思いますし、WEBサーバの内容も被っているので頭がこんがらがりますが、少しずつ整理していきます。

 

以上、解説を読んでいても理解できることが少ないので、一つずつ理解を深めていくようにします。

ーーーーーーーーーーーーーーーーーーー

本日も教室に行って感じたことは、「長時間勉強するのが苦じゃない」ということです。毎日カフェで勉強していた時期もあったのですが、周りの方は目的が異なるので集中できず、5時間もいると「帰りたい!!」となってました。TEC::EXPERTは全員同じ方向(転職)に向かって勉強しているので、勉強する環境が整っていると思います。

あと、まだ同期が何人いるかは知らないのですが、同期との進捗度合いが常にわかるそうなので、いい意味でケツを叩いてくれます。同期の中で下位にいるとメンタルやられて勉強どころじゃなくなるという噂も聞いたので、絶対負けたくないですね。