nginx
Apache
初心者
サーバー
creatus

初心者による初心者の為のWebサーバ解説

Webサーバとは

Webサーバについて基礎的な概要をまとめます。

・Webサーバーとは何か?

技術的に言えば、以下の2つの条件を満たすパソコンを指します。

条件1: 固定的なグローバルIPアドレスを割り当てられて、インターネットに常時接続されている。
条件2: apache(アパッチ)などのサーバーソフトがインストールされ、起動中である。

・条件1 固定的なグローバルIPアドレスとは

まず条件1の「固定的なグローバルIPアドレス」について少し掘り下げます。

世の中にはたくさんのパソコンがあります。
その全てがインターネットでつながるのだから、
各パソコンを識別するためのIPアドレスが同じではいけません。
IPアドレスが分からなければ、データ通信は不可能でメールも届きません。
サーバ.png
なので他のパソコンからそのWebサーバとするパソコンに接続するのに
常に決まったIPアドレスでないと接続が出来ません。
したがってWebサーバとなるパソコンは
自分専用のグローバルIPアドレスを独占していなければなりません。

・条件2 サーバソフトについて

続いて条件2のサーバソフトについて紹介しようと思います。

「コンピュータ、ソフトがなければただの箱」と言われているらしいが、これはサーバも同様。
サーバは他のコンピュータに何らかのサービスを提供するコンピュータで、
このサービスを提供する為のソフトウェアを、「サーバアプリケーションソフト」といいます。
一般的には、「サーバソフト」とか「サーバアプリ」などと略して呼ばれることが多いです。

image.png

よく使われるサービスの例として以下のようなものがあり、

  1. ファイル共有
  2. プリンタ共有
  3. 電子メール
  4. Web
  5. FTP
  6. 掲示板
  7. ブログ

基本的な役割は以下になります。

  1. Webサイトの閲覧者によるリクエストに応じて、Webサーバに保管中のデータを表示する。
  2. CMSの場合などでは、データベースサーバとの間に入り、リクエストの応答を行う。(CMS … Webサイトの制作に必要な専門知識を必要とせず、テキストや画像などの情報を入力するだけで、サイト構築を自動的に行うことが出来るシステム)
  3. 必要に応じて、Webサーバ内の保管データを保護して、アクセス制限を行う。
  4. Webサイトにドメインでアクセスできるように、別の専用サーバと連携をとる。
  5. Webサイトの閲覧者が間違ったリクエストを送った場合は、それが間違った指示であることを伝えてリクエストのやりなおしを促す。

最後にWebサーバソフトを少しご紹介したいと思います。

Apache HTTP Server
IIS
Nginx

image.png

Apache HTTPD Serverはもっとも使われているオープンソースのWebサーバソフトウエアで聞いたことがある方も多いかと思います。
しかし最近は大規模システムを中心に比較的最近になって登場したNginxがシェアを伸ばしていたり、
WindowsのシステムではIIS自体の信頼性もあり、その分野でのシェアは大きくなっています。

また詳しく各Webサーバソフトの特徴や最近のトレンドなどについての記事も掲載できたらと思います。

まとめ
基礎的な内容ということもあり、調査していて様々な記事が点在していて「ここも書きたい。あれも説明したい。」など思うところもありましたが、あまり冗長になることを避けるよう努めました。
見やすい読みやすいを意識した記事を書ければと思います。

参照サイト
今更聞けない!Webサーバーの仕組みと構築方法
世界で最も人気のwebサーバーソフト、Apacheとは
ApacheかNginxか迷ったときに見るページ