webサーバー、アプリケーションサーバー、Rackといった仕様や概念と、WEBrick、Unicorn、Pumaといった実装の関係が頭の中で結びつきません
前置き
(やや混乱しているので質問がわかりづらいかもしれません)
大昔Perl
でCGI
によるWebアプリを作ったときに、Apatch
でPerl
で書いたプログラムを呼び出していた記憶があります。
Rails
Rails
ですが、Webサーバー
とアプリケーションサーバー
が分かれている印象です。
CGI
上記CGI
のやり方ではWebサーバー
は存在しますが、アプリケーションサーバー
は存在しないと認識しています。
Webサーバーとアプリケーションサーバーで混乱
Rails
ですと
Webサーバー
例えばRack
(←回答よりこれは勘違い)
アプリケーションサーバー
例えばUnicorn
、Puma
といったように、ソフトウェアとしてWebサーバー
とアプリケーションサーバー
が分かれていると認識しています。
Webサーバーとアプリケーションサーバーを同時に満たすものがある?
WEBrick
ですが、Webサーバー
とアプリケーションサーバー
どちらの役目もしているような気がしていて混乱しています。(dev環境
だとアプリケーションサーバー
など意識せずWEBrick
だけで動いている気がする)
Rackは各種アプリケーションサーバーの仕様の乱立を避けるために生まれた?
各種アプリケーションサーバーがどんどん出てきたときに、デプロイの作業がバラバラとなり、それを救うためにRack
が生まれたというような内容を見かけました。
となると、アプリケーションサーバー
の違いを吸収するためにWebサーバー(Rack)
を用意するということでしょうか?
(そもそもWebサーバー
はHTTP
などのリクエストを受け取るものでアプリケーションサーバー
の違いを吸収するものではないような...)