Webサーバとアプリケーションサーバーの違い
本番環境のサーバーは二つに分かれる。静的なレスポンスを担当するWebサーバーと動的なレスポンスを担当するアプリケーションサーバーである。
●Webサーバー
ユーザーから来るリクエストには、演算処理が伴わない静的な処理がある。例えば、自己紹介ページの表示など、固定された内容で変動がなくページの表示がされるものなどである。
こういったレスポンスは簡単に処理ができるのでアプリケーションサーバーを起動するまでもない。即座に返す。それを担当するのがWebサーバーである。アプリケーションサーバーの手前にあって、簡単な処理をチャチャッとやってくれるのがWebサーバーだと思えばいい。
「NginX」とかね。
ユーザーから来るリクエストには、演算処理が伴う動的な処理がある。パラメータのやり取りをする処理を主に言う。例えば、ユーザーが入力した身長や体重や年齢などの情報を計算してBMIや健康アドバイスを毎回変動して表示するアプリとか。ツイートを投稿してDBサーバーにアクセスして保存するアプリとか。
そういう複数の機能を連動させてパラメータのやり取りをする処理は、アプリケーションをきちんと動かして処理する。だからこれを担当するのがアプリケーションサーバーという。
「Unicorn」とかね。
以上。本番環境の二つのサーバーの意味の違いでした。