Huney

サーバー

Apacheとは?Webサーバーの役割を初心者向けに解説

Apache HTTP Serverとは何かを初心者向けに解説します。Webサーバー、HTTP/HTTPS、静的コンテンツ、Tomcatとの違いなどを学びます。

読了時間:約5

Apacheとは?Webサーバーの役割を初心者向けに解説

サーバーについて勉強すると、**Apache(アパッチ)**という名前をよく見かけます。

特にTomcatと一緒に登場することが多く、「ApacheとTomcatって何が違うの?」となりやすいポイントです。

Apacheとは?

ITのサーバー分野で単にApacheと言う場合、多くはApache HTTP Serverを指します。

Apache HTTP Serverは、Apache Software Foundationによって開発されているオープンソースのWebサーバーソフトウェアです。

Webサーバーとは?

Webサーバーは、ブラウザなどのクライアントからHTTP/HTTPSのリクエストを受け取り、Webコンテンツなどを返します。

ブラウザ
   |
   | HTTP / HTTPS
   v
Apache HTTP Server
   |
   | HTMLなど
   v
ブラウザ

たとえばHTML、CSS、画像などの静的コンテンツを配信できます。

HTTPとHTTPS

Web通信では主にHTTPやHTTPSが利用されます。

HTTPSではHTTP通信をTLSによって保護します。

現在のWebサイトではHTTPSを利用することが一般的です。

Apache HTTP Serverでは、TLS証明書などを適切に設定することでHTTPS通信を提供できます。

静的コンテンツとは?

アクセスするたびにサーバー側で内容を生成する必要がないファイルを、一般に静的コンテンツと呼びます。

たとえば、

  • HTML
  • CSS
  • JavaScriptファイル
  • 画像

などです。

Apache HTTP ServerはこうしたファイルをWebクライアントへ配信できます。

Apacheは何でもできる?

Apache HTTP Serverには多数のモジュールがあり、さまざまな機能を追加できます。

たとえば、

  • HTTPS
  • 認証
  • アクセス制御
  • リバースプロキシ
  • URLの書き換え

などです。

必要な機能を組み合わせてWebサーバーを構成できます。

リバースプロキシとは?

Apache HTTP Server自身がすべての処理を担当せず、受け取ったリクエストを後ろにある別のサーバーへ転送する構成があります。

ブラウザ
   |
   v
Apache HTTP Server
   |
   v
アプリケーションサーバー

このようにクライアントの代わりにバックエンドへリクエストを転送する役割をリバースプロキシと呼びます。

ApacheとTomcatの違い

ここが特に重要です。

Apache HTTP Serverは主にWebサーバーとしてHTTP/HTTPS通信を受け付け、コンテンツ配信やプロキシなどを担当します。

一方、Apache TomcatはJavaのWebアプリケーションを動かすために利用されるソフトウェアです。

名前にどちらもApacheと付いていますが、役割は異なります。

Apache HTTP Server
→ Webサーバー

Apache Tomcat
→ Java Webアプリケーションを実行するための
   Servletコンテナ / Webコンテナ

ApacheとTomcatを組み合わせることもある

システムによっては、

利用者
  |
  v
Apache HTTP Server
  |
  v
Apache Tomcat
  |
  v
Java Webアプリケーション

のように組み合わせることがあります。

Apache HTTP Serverがフロント側でリクエストを受け、必要な通信をTomcatへ転送する構成です。

ただし、必ずApache HTTP ServerとTomcatをセットで利用するわけではありません。

Tomcat自身もHTTPリクエストを受け付ける機能を持っています。

nginxとの違い

Apache HTTP Server以外にもWebサーバーソフトウェアがあります。

代表例がnginxです。

Apacheとnginxでは内部構造や設定方法、得意とする用途などに違いがあります。

初心者の段階では、

Apacheもnginxも代表的なWebサーバーソフトウェア

と覚えておけば十分です。

Linuxとの関係

Apache HTTP ServerはLinux上でよく利用されます。

ただし、

Linux = Apache

ではありません。

LinuxはOS、Apache HTTP Serverはその上で動作するWebサーバーソフトウェアです。

ハードウェア / 仮想マシン
        |
      Linux
        |
Apache HTTP Server
        |
   Webコンテンツ

この階層を理解すると、サーバー構成がかなり分かりやすくなります。

🍯 はちみつメモ

今日覚えることは1つだけ!

Apache HTTP Server = HTTP/HTTPSでWebコンテンツなどを提供する代表的なWebサーバーソフトウェア

まとめ

  • Apacheと言う場合、多くはApache HTTP Serverを指す
  • Apache HTTP ServerはWebサーバーソフトウェア
  • HTTP/HTTPSのリクエストを受け付ける
  • HTMLや画像などの静的コンテンツを配信できる
  • リバースプロキシとしても利用できる
  • LinuxはOS、Apacheはその上で動くソフトウェア
  • Apache HTTP ServerとApache Tomcatは別のソフトウェア

次におすすめ

次は**「Tomcatとは?」**を学びます。