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

 サーバーとは、Webアプリケーションの保存先であり、画面のないPCです。そのサーバーサイドの中身は大きく3つに分けられます。Webサーバー、アプリケーションサーバー、データベースサーバーです。

 その中でもWebサーバーとアプリケーションサーバーについて説明したいと思います。

 

Webサーバー

 Webサーバーとは、CSSファイルのように、リクエストのたびに内容が変更されない静的コンテンツのみをリクエストとしてクライアントに返すものです。サイトを閲覧するブラウザを指します。Webサーバーの一種としてNginx(エンジンエックス)があります。

 

アプリケーションサーバ

 アプリケーションサーバーは、リクエスト毎にデータベースから検索条件に当てはまるデータを取得して表示する役割を持つ、動的コンテンツを生成します。この処理結果をWebサーバーに返します。

 扱っているものが静的コンテンツのみの場合はWebサーバーだけでリクエストに対応してレスポンスを返します。一方でデータを扱っている場合は一旦アプリケーションサーバーを介してレスポンスするイメージだと僕は解釈しました。

 こういった処理の流れの中で、アプリケーションサーバーとアプリケーション本体は使用している言語が異なるという問題があります。この問題はRackという翻訳プログラムが解決してくれています。