前置き

(やや混乱しているので質問がわかりづらいかもしれません)

大昔PerlCGIによるWebアプリを作ったときに、ApatchPerlで書いたプログラムを呼び出していた記憶があります。

Rails

Railsですが、Webサーバーアプリケーションサーバーが分かれている印象です。

CGI

上記CGIのやり方ではWebサーバーは存在しますが、アプリケーションサーバーは存在しないと認識しています。

Webサーバーとアプリケーションサーバーで混乱

Railsですと

Webサーバー

例えばRack (←回答よりこれは勘違い)

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

例えばUnicornPuma

といったように、ソフトウェアとしてWebサーバーアプリケーションサーバーが分かれていると認識しています。

Webサーバーとアプリケーションサーバーを同時に満たすものがある?

WEBrickですが、Webサーバーアプリケーションサーバーどちらの役目もしているような気がしていて混乱しています。(dev環境だとアプリケーションサーバーなど意識せずWEBrickだけで動いている気がする)

Rackは各種アプリケーションサーバーの仕様の乱立を避けるために生まれた?

各種アプリケーションサーバーがどんどん出てきたときに、デプロイの作業がバラバラとなり、それを救うためにRackが生まれたというような内容を見かけました。
となると、アプリケーションサーバーの違いを吸収するためにWebサーバー(Rack)を用意するということでしょうか?
(そもそもWebサーバーHTTPなどのリクエストを受け取るものでアプリケーションサーバーの違いを吸収するものではないような...)