Webサーバとアプリケーションサーバーの違い

f:id:kc-masui:20191026191519p:plain

本番環境のサーバーは二つに分かれる。静的なレスポンスを担当するWebサーバーと動的なレスポンスを担当するアプリケーションサーバーである。

 

●Webサーバー

 ユーザーから来るリクエストには、演算処理が伴わない静的な処理がある。例えば、自己紹介ページの表示など、固定された内容で変動がなくページの表示がされるものなどである。

 こういったレスポンスは簡単に処理ができるのでアプリケーションサーバーを起動するまでもない。即座に返す。それを担当するのがWebサーバーである。アプリケーションサーバーの手前にあって、簡単な処理をチャチャッとやってくれるのがWebサーバーだと思えばいい。

「NginX」とかね。

 

アプリケーションサーバ

 ユーザーから来るリクエストには、演算処理が伴う動的な処理がある。パラメータのやり取りをする処理を主に言う。例えば、ユーザーが入力した身長や体重や年齢などの情報を計算してBMIや健康アドバイスを毎回変動して表示するアプリとか。ツイートを投稿してDBサーバーにアクセスして保存するアプリとか。

 そういう複数の機能を連動させてパラメータのやり取りをする処理は、アプリケーションをきちんと動かして処理する。だからこれを担当するのがアプリケーションサーバーという。

Unicorn」とかね。

 

以上。本番環境の二つのサーバーの意味の違いでした。