だいぶメモ書きです。 表題の件、まだ曖昧にしか理解できてない。 ググっても浅い情報しか出てこないし、各ライブラリのソースコードを読んでみたけどどう繋がってるか、それぞれどんな役割を担っているか把握するのムズいなぁ…。 結論 色々調べてここまで分かった。 「クライアント側 nginx <-> puma or unicorn <-> rack <-> rails DB 側」 的な感じ rails(や sinatra)はつまるところ rack の仕様に沿って env(HTTPリクエスト)をもらって [status, headers, body](HTTP レスポンス)を返すだけのプログラムである rack HTTP server としてのインターフェースを提供する。 #call とか。 Rackとは何か - Qiita rails rack アプリケーション。 rack の仕様に沿った #cal