3層クライアントサーバシステムとは
プレゼンテーション層・ファンクション層(アプリケーション層)・データ層の3つに分けて構成するシステムのこと。
WEB3層構造
3層クライアントサーバシステムにWebサーバーが加わったもの。
Webアプリケーションはユーザインターフェースとなるプレゼンテーション層(Webサーバーが担う)、業務処置を行うアプリケーション層(APサーバーが担う)、データ処理や保管を行うデータ層(DBサーバーが担う)の3層構造となっている
プレゼンテーション層
プレゼンテーション層は、クライアントに静的なコンテンツを表示させるためのやり取りを行う層で、クライアントとWebサーバーから成ります。
クライアントとは、ユーザーが実際に操作するインターフェースで、Webブラウザやモバイルアプリなどを指します。
WebサーバーはWebブラウザからの閲覧要求(リクエスト)を処理して、要求されたコンテンツの情報を含んだレスポンスメッセージをクライアントに返します。静的なコンテンツ(htmlや画像ファイルなど)の場合はWebサーバーだけで完結します。一方で動的なコンテンツ(閲覧するユーザーによって処理や表示する画面が異なるもの)を含む場合は、アプリケーションサーバーに処理を要求し、処理の結果を受け取ってブラウザに表示する役割も担っています。
アプリケーション層
アプリケーション層は、システムの中核となる動的処理を行います。アプリケーションサーバーは、Webサーバーからのリクエストを基にRuby、Go、PHPなどのプログラミング言語による処理を行い、動的コンテンツを生成します。必要であれば、データベースサーバーへの問い合わせや書き込みといったデータ処理を要求します。
データベース層
データベース層は、アプリケーション層によって処理されたデータの保管・管理を行う層です。データベースサーバーは、SQLなどを用いてデータベースに照会し、データの抽出や登録、検索、更新、削除などの処理を実行します。そして、その結果をアプリケーションサーバーに返します。
Webサーバーとアプリケーションサーバーを分離する理由
Webサーバーに対して、不特定多数から多く接続されることがある。その際にAPサーバーでリクエストを裁くと不十分な場合が多い。←まだ理解できていない
参考