出典
ここから抜粋しました。
ハードウェア、ソフトウェアの両方を兼ね備える
ハードウェア:Webサーバのソフトウェアとコンポーネントファイルを格納されている
ハードウェアの観点では、ウェブサーバーとは、ウェブサーバーソフトウェアとウェブサイトのコンポーネントファイル (例えば、 HTML 文書、画像、 CSS スタイルシート、 JavaScript ファイル) を格納しているコンピューターのことです。インターネットに接続され、ウェブに接続された他の端末と物理的なデータ交換に対応しています。
ウェブサーバがホストするファイルに対してアクセスを制御
ソフトウェアの観点では、ウェブサーバーとは、
ホストにあるファイルに対する、ウェブユーザーのアクセスを制御する、いくつかの部品の集まりです。最小限の部品は HTTP サーバーです。HTTP サーバーは URL (ウェブアドレス)および HTTP (ブラウザーがウェブページを閲覧するためのプロトコル)を理解するソフトウェアのことです。格納しているウェブサイトのドメイン名(mozilla.org など)を通してアクセスすることができ、コンテンツをエンドユーザーの端末に配信します。
公開するには静的または動的のウェブサーバが必要
ウェブサイトを公開するには、静的または動的ウェブサーバーが必要です。
静的:サーバが保持するファイルをブラウザへそのまま送る
静的ウェブサーバーは、スタックとも呼ばれ、コンピューター(ハードウェア)と HTTP サーバー(ソフトウェア)から構成されます。サーバーが保持しているファイルをブラウザーへ「そのまま」送るので、「静的」と呼ばれます。
動的:保持しているファイルを変更する
動的ウェブサーバーは、
静的ウェブサーバーと追加のソフトウェアからなります。追加ソフトウエアは、一般的にはアプリケーションサーバーとデータベースからなります。アプリケーションサーバーが、保持しているファイルを変更してから、HTTP サーバーを通してブラウザーに送信するので「動的」と呼ばれます。
データベースでファイルを変更する
例えば、ブラウザーで見ることができる最終的なウェブページを生成するために、
アプリケーションサーバーはデータベースからのコンテンツで HTML のテンプレートを埋めることがあります。MDN やウィキペディアのようなサイトは非常に多くのウェブページを持っていますが、実際の HTML 文書が存在するわけではなく、巨大なデータベースとわずかな HTML テンプレートのみが存在しているのです。この構成をとることで、より速く、より簡単にコンテンツを保守したり配信したりすることができます。
ウェブサーバになければアプリケーションサーバが必要なファイルを作成する
ウェブサーバーでは、 HTTP サーバーが受信したリクエストを処理し、応答する役割を担っています。
リクエストを受信すると、 HTTP サーバーは最初に
リクエストされた URL が既存のファイルに一致するかどうかをチェックします。
もしあれば、ウェブサーバーは
ブラウザーにファイルを送り返します。なければ、アプリケーションサーバーが必要なファイルを作成します。
どちらの処理もできない場合、
ウェブサーバーは 404 Not Found としてよく知られているエラーメッセージをブラウザーに返します。404 エラーはよく起こるので、多くのウェブデザイナーが 404 エラーページのデザインに時間を割いています。