APサーバーとWebサーバーの違いとは?役割や連携の仕組みをわかりやすく解説

目次

はじめに

「APサーバーとWebサーバーは何が違うの?」
「Webシステムを構築するとき、なぜ2つのサーバーを分けて使うの?」と疑問に感じていませんか。

システム構成図を見ていると、ブラウザの先にWebサーバー、その奥にAPサーバーが配置されていて、それぞれが何を処理しているのか分からず迷うことがありますよね。

この記事では、APサーバーとWebサーバーの役割の違いから、ブラウザから届いたリクエストを2つのサーバーが連携して処理する仕組みまで解説します。

APサーバーとWebサーバーの違いは?

APサーバーとWebサーバーは、Webシステムの中で担当する処理が異なります。

ここでは、それぞれが担当する処理を確認しながら、WebサーバーとAPサーバーの役割の違いを説明します。

WebサーバーはWebページや静的コンテンツを返す

Webサーバーは、ブラウザから届いたリクエストを受け取り、HTMLやCSS、JavaScript、画像などを返します。

保存されているファイルをそのまま配信する「静的コンテンツ」の処理が主な役割です。

たとえばHTMLファイルが要求されると、該当するファイルを読み込んでブラウザへ送信します。

APサーバーは動的な処理やビジネスロジックを実行する

APサーバーは、ユーザーの入力やアクセス内容に応じて、プログラムを実行して必要な結果を生成します。

たとえばログイン時の認証や、入力されたデータを使った計算などが代表的な処理です。

保存されたファイルをそのまま返すのではなく、状況に合わせて動的に処理する役割があります。

WebサーバーとAPサーバーは役割が異なる

WebサーバーとAPサーバーは、Webシステムの中で担当する処理が異なります。

WebサーバーはHTMLや画像などの配信を担当し、APサーバーはログインや計算などの動的な処理を担当します。

それぞれの役割を分けて考えると、Webシステム全体の仕組みも理解しやすくなります。

WebサーバーとAPサーバーの役割を比較

WebサーバーとAPサーバーを比較すると、受け持つ処理だけでなく、扱うデータや処理方法にも違いがあります。

ここでは、処理内容・扱うデータと処理方法・代表的な製品の3つの視点から、WebサーバーとAPサーバーの役割を比較します。

処理する内容が異なる

Webサーバーは、ブラウザから届いたリクエストを受け取り、HTMLやCSS、画像などを返します。

一方、APサーバーはログイン認証やデータの計算など、プログラムを実行して必要な結果を生成します。

Webサーバーはコンテンツの配信、APサーバーは動的な処理を担当する点が大きな違いです。

扱うデータと処理方法が異なる

Webサーバーは、サーバー内に保存されているHTMLや画像などのファイルを読み込み、ブラウザへ返します。

APサーバーは、ユーザーが入力した値やデータベースから取得した情報をプログラムで処理します。

このように、扱うデータだけでなく、そのデータをどのように処理するかにも違いがあります。

代表的なWebサーバーとAPサーバーには違いがある

代表的なWebサーバーにはApache HTTP ServerやNginxがあり、Webコンテンツの配信などに使われます。

一方、APサーバーの代表例にはApache Tomcatがあり、JavaのServletやJSPなどを実行できます。

同じWebシステムで使われるサーバーでも、それぞれ担当する役割が異なります。

WebサーバーとAPサーバーが連携する仕組み

WebサーバーとAPサーバーを組み合わせた構成では、ブラウザから送られたリクエストをWebサーバーが最初に受け取ります。

ここでは、リクエストの受信からAPサーバーでの処理、結果の返却までの流れを順番に説明します。

ブラウザからWebサーバーへリクエストが届く

ブラウザでWebページへアクセスすると、HTTPやHTTPSのリクエストがWebサーバーへ送られます。

Webサーバーはリクエスト内容を確認し、そのまま返せるか、別の処理が必要かを判断します。

HTMLや画像などの静的コンテンツであれば、該当するファイルをブラウザへ返します。

動的な処理をAPサーバーへ渡す

ログイン認証やデータの計算など、動的な処理が必要な場合はWebサーバーからAPサーバーへリクエストを渡します。

APサーバーは、受け取ったURLや入力データをもとに必要なプログラムを実行します。

このように、Webサーバーだけでは完了しない処理をAPサーバーが担当します。

APサーバーが処理結果を返す

APサーバーで処理が完了すると、生成した結果をWebサーバーへ返します。

Webサーバーは受け取った結果をレスポンスとしてブラウザへ送り、ブラウザ側で内容を読み込みます。

これにより、ログイン後のページや検索結果などが画面に表示されます。

WebサーバーとAPサーバーは両方必要なのか

WebサーバーとAPサーバーは、すべてのWebシステムで必ず両方必要になるわけではありません。

ここでは、Webサーバーだけで対応できるケースとAPサーバーを組み合わせるケースを確認しながら、システム構成による役割分担の違いを説明します。

Webサーバーだけで対応できるケース

HTMLやCSS、画像など、静的コンテンツを配信するだけならWebサーバーだけでも対応できます。

ブラウザから要求されたファイルを読み込み、そのままレスポンスとして返すためです。

ログインやデータベースを使った動的な処理がなければ、APサーバーを組み合わせる必要はありません。

APサーバーを組み合わせるケース

ログインやデータベースを使った処理が必要な場合は、WebサーバーとAPサーバーを組み合わせる構成があります。

Webサーバーがリクエストを受け取り、プログラムの実行が必要な処理をAPサーバーへ渡します。

APサーバーは受け取ったデータを処理し、その結果をWebサーバーへ返します。

システムの構成によって役割分担が変わる

WebサーバーとAPサーバーの役割分担は、Webシステムの構成によって異なります。

別々に配置して静的コンテンツの配信と動的な処理を分担することもあれば、1つの環境で両方を担当することもあります。

そのため、必ずしもWebサーバーとAPサーバーが明確に分かれているとは限りません。

WebサーバーとAPサーバーを分けた構成を具体的にイメージしたい場合は、Webシステムの基本的な構成も確認しておくと分かりやすくなります。
▶Web3層構造とは?Web・AP・DBサーバーの役割と仕組みをわかりやすく解説

まとめ

APサーバーとWebサーバーは、Webシステムの中で異なる役割を持っています。

WebサーバーはHTMLや画像などを配信し、APサーバーはログイン認証やデータ処理などの動的な処理を担当します。

ただし、必ず両方が必要なわけではなく、静的コンテンツだけならWebサーバーのみでも対応できます。

システムによって構成や役割分担が異なるため、それぞれの役割を確認して使い分けることが大切です。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次