🎃
Webサーバーが受け取ったHTTPリクエストはどのように処理されるか(Rails編)
全体の流れの図
Webサーバーとしての例はNginx,Apacheなど
APサーバーとしての例はPuma、Unicornなどが存在
Webサーバー
ブラウザからHTTPリクエストをうける。静的ファイルなどの簡単なファイルを要求された場合はAPサーバーとの通信は行わずにレスポンスを返す。一方で難しいファイルを要求された場合はソケット通信でAPサーバーと通信を行い情報を受け渡す。
APサーバー
Webサーバーから情報を受け取り、Rackが理解できるデータを受け渡す。APサーバーに最低限のWebサーバー機能がつくこともあるがやはり大量のリクエストを捌くためには専門のWebサーバーが必要。
Rack
APサーバーとフレームワーク間のインターフェースの標準化を担う。これによりPumaはRailsだけでSinatraなどとも通信可能となる。
Discussion