親バカエンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。

webサーバとアプリケーションサーバの違いについて

webサーバとアプリケーションサーバは混同されがちなので改めて整理のために記載しました。
とはいえ両者の役割は同じサーバで行われることが多いと思いますが。

webサーバ

  • 役割: 静的なコンテンツ(HTMLファイル、画像、CSSなど)を提供する。
  • 処理内容: クライアント(通常はウェブブラウザ)からのHTTPリクエストを受け取り、要求された静的コンテンツを返す。
  • 使用されるソフトウェア: Apache、Nginxなど。

アプリケーションサーバ

  • 役割: 動的なコンテンツやアプリケーションの実行を担当。
  • 処理内容: クライアントからのリクエストを受け取り、Webアプリケーションのロジックに基づいてデータの処理や計算を行い、結果を生成してクライアントに返す。
  • 使用されるソフトウェア: Java、Tomcat、WildFly、Spring Bootなど、Pythonの場合にはDjangoやFlaskなど、言語やフレームワークに応じて異なるサーバーソフトウェアが使われる。