システム構成要素 » システムの構成 の分類の問題
WEBサーバとアプリケーションサーバを別の物理サーバーに分けるメリットについて問う問題でした。
答えとしては、負荷の低い静的コンテンツのリクエストはWEBサーバとで処理し、負荷の重い動的コンテンツについてはアプリケーションサーバで処理するして分担させる。
でした。
ではそもそもWEBサーバとアプリケーションサーバでは何が違うのかについてしらべようと考えました。
そのため、今回の記事は
「WEBサーバ アプリケーションサーバー 比較」と検索して上から三つの記事をまとめたもんです。
以下の三つに分けて調べたことをまとめます。
・webサーバーとアプリケーションサーバの概要
・WEBサーバとアプリケーションサーバの種類
・あるサイトないサイトの違い
webサーバーとアプリケーションサーバの概要
WEBサーバー
フロントエンドの言語で、ユーザーと直接やり取りを行います。WEBブラウザからのリクエストを受け付けて処理を行います。
「HTMLファイル」「動画」「画像」などの静的コンテンツを処理
アプリケーションサーバ
Java,Ruby,PHPなどの言語で、WEBサーバーからのリクエストを処理する。データベースとの処理を仲介します。
Webサーバから受け付けたリクエストをJavaやPHP、Rubyなどのプログラミング言語を実行して処理します。
WEBサーバとアプリケーションサーバの種類
WEBサーバ
「Apache HTTP Server」や「nginx」
アプリケーションサーバ
Apache TomcatやNode、Puma、Unicorn
「商品の検索結果など、動的コンテンツ生成されたデータ」
あるサイトないサイトの違い
従来の2階層のサーバでは、WEBサーバで要求のリクエストや情報処理をすべて行っていました。そのため、WEBサーバに負荷がかかりすぎてしまい、WEBサーバが停止したりするのが問題でした。
現在でのWEBサイトはネットショッピングや会員サイトなど大量のリクエストを処理することが多いです。その場合にサイトの利用者に高速でレスポンスを返すためにアプリケーションサーバを挟み込みます。
DBに書きこみや読み込みをする処理したり、アプリケーションサーバーのリクエストの振り分け利用して同時にプロセスを処理できるようになります。
よってアプリケーションサーバがない場合には、同時のアクセスに対して処理が遅かったり、Cookieなどを利用してデータを保存しないといけなくなります。
参考サイト
https://hnavi.co.jp/knowledge/blog/web-application-server/