LoginSignup
6
8

More than 1 year has passed since last update.

よく聞く「Apache」,「Tomcat」とは?

Posted at

Apacheと、Tomcatの理解が曖昧なので、自分用の勉強用としてまとめていきます。

それぞれ一言で言うと、

Apache:Webサーバ
Tomcat:サーブレットコンテナ

それでは、それぞれ解説していきます。

通信を表した図

Group 6.png
参考
訳の分からない用語がたくさんですが、後ほど解説するので、まずは、流れを説明します。

Webブラウザでアクセス
→httpリクエストをApache Webサーバに対して送る
ApachemodJkというモジュールを使ってAPサーバ(アプリケーションサーバ)にAJPリクエストを送る
→AJPが受け取り、Webコンテナ(サーブレットコンテナ(画面に見せる側))へ
→WebコンテナからEJBコンテナへ
→EJBコンテナがDBに接続して、Webコンテナへ(ここでコンピュータが読み取り可能な言語にコンパイルしてあげるのがjavaVM)
→WebコンテナからApacheへAJPレスポンスを送り
→ApacheからWebブラウザにhttpレスポンスを送り
→画面に表示される。

Apache

簡単に言うと、アパッチ (Apache)とは全世界的に普及しているWebサーバのソフトのことです。
正式名称は、「Apache HTTP Server」

ホームページが表示される流れ

まず、ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して「このページをおくれ」なお願いが出されます。
→そのお願いに対して、WebサーバからWebブラウザに「ほれ、そのページだよ」とお返事がきます。
→お返事を受け取ったWebブラウザは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。

これが、ホームページが表示されるときの流れです。

Webサーバとは

ウェブサーバ (Webサーバ)(英:Web server)とはホームページやWebサービスを置いておくコンピュータであり、
ホームページを見るソフト(Webブラウザ)から「あのページをおくれ」と言われたら「ほれ、そのページだよ」と渡してやるのが仕事のサーバです。
簡単に言うと、Webサービスを置くサーバのこと

WebサーバをWebサーバたらしめているのは「Webサーバのソフト」なのです。
普通のコンピュータにWebサーバのソフトを入れることによって、Webサーバとしてのお仕事ができるコンピュータになります。

大事なのは、箱ではなく中身です。
Webサーバのソフトさえ入れれば、あなたが普段使っているパソコンだってWebサーバになれます。

Tomcat

簡易的なWebサーバとしての機能を持ちます。
正式名称は、Apach Tomcatと言います。 (だからややこしい)

Apache Tomcatとは、Java Servletを動かすときに必要なソフト(サーブレットコンテナ)のひとつです。

Java Servlet

Java Servletとは、Webサーバ上でお仕事をするJavaのプログラムです。Java Servletを動かすためのソフトで、サーバ上で動くJavaプログラムのことです。
動的なページが生成可能です。

補足
ここでは、JSPもServletとみなす。と言うのも、JSPはコンパイルするとServletに変換されるから。

Java
Javaのプログラムはほぼどんな環境でも動くことが特徴の言語です。
Javaを生み出した人は、このプログラミング言語を使って、いろいろなプログラムを作れるようにしました。

Javaプログラムの1つに、Webサーバで動くJavaプログラムがあります。
この「Webサーバ上で動くJavaプログラム」を「Java Servlet(サーブレット、Servlet)」と言います。

Java Servletは、「サーブレットコンテナ(Webコンテナ、サーブレットエンジン)」と呼ばれるソフトが必要です。
一番初めの「通信の流れを表した図」のAPサーバ内のwebコンテナの部分です。

このサーブレットコンテナの1つが「Apache Tomcat」です。

Java Servletの特徴
1.ライフサイクル管理
2.マルチスレッド対応
3.プラットフォーム非依存
それぞれの特徴についてはこちらを参考に https://wa3.i-3-i.info/word12835.html

以上で 「Apache」,「Tomcat」の説明はある程度終わります。

参考にしたサイト
用語の説明
YouTube解説

「Tomcatあれば、Apacheが必要ないんじゃない?」ということが分かりやすく書かれたQiitaを最後に貼っておきます。

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8