【初心者向け解説】Webサーバーとは? & Webコンテナとは?

WebサーバとWebコンテナ
  • このエントリーをはてなブックマークに追加
  • Pocket

JavaでWebアプリケーションを作っていく際に、まず理解したいのがWebサーバとWebコンテナとは何か、だ。

このページではWebサーバとWebコンテナについてご紹介した。参考にしていただければ幸いだ。

WebサーバとWebコンテナ

はじめに

Javaで作られたWebアプリケーションを動かしたい、そんな時まず用意するべきものはWebサーバとWebコンテナだ。

クライアントアプリケーションを動かしたい時は、動作させるPCにJRE(Java Runtime Environment )を入れる必要がある。一方Webアプリケーションの場合は、利用する側はPCに何もインストール必要はなく、Webブラウザから指定のURLにアクセスしさえすればよい。

Webアプリケーション側では、Webブラウザからの要求(リクエスト)に応じて処理するWebサーバとWebアプリケーションを動かす基盤となるWebコンテナが必要となる。

Webサーバとは?

Webサーバーとは、上でも書いたようにWebブラウザからのリクエストに応じて静的画面や画像を表示する働きをするものだ。

次のようなイメージになる。

webサーバとは

もちろんブラウザ以外にもクライアントはたくさんあるので、下記の感じだ。

サーバと聞くと難しいが、要は会社が用意したパソコンくらいに思っておけばいい。インターネット越しにそのパソコンのデスクトップなり、フォルダの中なりを閲覧できるようにしているだけだ。

クライアントとサーバ

サーバ

Webサーバ

クライアントの要求に応じで情報を返す。

クライアント

Webブラウザ

サーバーから帰ってきた情報(リソース)を解析して表示する。

HTML・CSS・JavaScript・画像・動画などを表示する。

主なWebサーバ

Apache、nginx 、IIS(Internet Information Services)の3つが有名だ。それぞれの特徴を簡単にまとめると次のようになる。

Apache

フリーでありながら高い信頼性と充実した機能を備えたWebサーバ。しかし充実しているがゆえに大量のアクセスがあった場合にレスポンスが遅くなる問題点がある。

Nginx(エンジンエックス)

Apacheの問題点である一度の大量のアクセスがあった際にレスポンスが遅くなる点を解決するために作られた。処理が高速。

IIS

Microsoft Windowsの標準Webサーバ

 日本だと圧倒的にApacheが人気だ。海外だと徐々にNginxが優勢になってきている。

Webコンテナとは?

Javaで作られたWebアプリケーションを動かすためには、プログラムを解析して処理を行う実行環境が必要になる。

Webアプリケーションを動作させるための実行環境がJ2EEだ。J2EEはJDKやJREのようにライブラリをインストールするのではなく、J2EEを組み込んだWebコンテナとして提供されている。サーブレットコンテナとも言う。

検索エンジンなどのように入力された値などをもとに要求された処理を実行して結果をブラウザに表示するなどの動的処理を行う。

webコンテナ

サーブレットコンテナの仕事

サーブレットコンテナの主な仕事をあげると次のようになる。

サーブレットの実行環境の提供

サーブレットを動かすライブラリ群などの機能を提供

ライフサイクルの管理

サーブレットの起動から破棄されるまでの一連の流れを管理する。起動や破棄という

処理をコンテナが引き受けることで、プログラムを作成する際の品質が保たれやすい。

また要求が多くなってもレスポンスが落ちにくくなっている。

セッション管理

セッションを管理する機能が用意されている。セッションがわからないという方は徐々に説明をしていくので、その際に理解していただければ十分だ。

Webアプリケーションに必要なサービスの提供

そのほか、多言語への対応などWebアプリケーションに必要なサービスを組み込んでいる。

主なWebコンテナ

Javaの主なWebコンテナには次のようなものがある。

Tomcat

オープンソースのソフトウェア。J2EEのServletとJSPという仕様にのっとったプログラムを動かすエンジン

Glassfish 

J2EE標準のWebコンテナ。やや重い。NetBeansというOracleが提供する開発ツールでは標準装備されている。

Jetty 

Javaで作られたWebコンテナ。

非常に軽量。

まとめ

このページではWebサーバとWebコンテナについて簡単にお伝えしてきた。サーブレットを学習する前に、まずはこれらの言葉の意味を掴んでいただければと思う。 

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメント

コメントを残す

*