6. Webサーバの基本

Webサーバとは

Webサーバは、コンテンツ(HTML、CSS、画像など)を配信するサーバです。サーバのプロトコルは一般的にHTTP、HTTPSでリクエスト&レスポンスします。

Webサーバの種類

Webサーバの種類は「Apache「Nginx」「IIS」の3つがよく利用されます。また、JavaやJavaScriptのように独自サーバを起動することも可能です。

Apache

Apache(アパッチ) は世界中で使用されている Webサーバー(HTTPサーバー)のソフトウェアです。 歴史が長く、オープンソースソフトウェア(OSS)で無償提供されているため誰でも利用可能です。

Nginx

Nginx(エンジンエックス)は、Apache よりも新しいWebサーバで、OSSで無償提供されています。Apacheより高速かつ高負荷に強い傾向があります。動画のような大量の動的コンテンツ処理には不向きではあります。

IIJ

IIJは、Microsoft製のWebサーバで Windowsサーバで利用されます。世界的に Linuxサーバが普及しているためシェアは高くありません。

URL と Webサーバ

WebサーバはクライアントがリクエストしたURLから、Webサーバの中に配置されたファイルを検索・レスポンスします。

「 / 」はフォルダを意味する

Web の世界では、 「 / 」はフォルダという決まりがあります。

http://example.com/lesson1/sample.php

のURL の場合、「http://localhost」以降のパス「/lesson1/」はフォルダ、「sample.php」はファイルを意味します。

  • 「 / 」:DocumentRoot(Webサーバの最上位のフォルダ)
  • 「lesson1/」:lesson1 フォルダ
  • 「sample.php」:sample.php ファイル

DocumentRoot

DocumentRootとは

Webサーバに HTML、画像、JS、CSS、PHPなどのコンテンツを配置しますが、コンテンツを配置する最上位のフォルダのことを、DocumentRoot(ドキュメントルート) といいます。

DocumetRootの例

DocumentRootを「htdocs」フォルダとした例です。「htdocs」フォルダの中にコンテンツを配置します。

URLでファイルをレスポンス

クライアントがブラウザからリクエストすると、WebサーバはURLのからファイルを検索してレスポンスします。

DocumentRootのパス

DocumentRootのパス(場所)は、Webサーバの構築方法によって違います。

XAMPP(Windows)のDocumentRoot

「XAMPP」はWindowsの学習用環境構築ツールです。「XAMPP」のWebサーバは「Apache」が利用できます。DocumentRootはデフォルトで以下の設定になっています。

C:xampp¥htdocs¥

MAMP(Mac)のDocumentRoot

「MAMP」はMacの学習用環境構築ツールです。「MAMP」のWebサーバは「Apache」「Nginx」が利用できます。DocumentRootはデフォルトで以下の設定になっています。

/Applications/MAMP/htdocs

Linux(Ubuntu)のDocumentRoot

LinuxはサーバではスタンダードのOSで、Webサーバは「Apache」「Nginx」など自由にインストールできます。Linux「Ubuntu」では、DocumentRootはデフォルトで以下の設定になっています。

/var/www/html/ 
ターミナルで確認

Linuxは基本的に、MacやWindowsのようにGUIでなく、ターミナルで確認します。

演習

問題1

ApacheやNginxのように、HTMLや画像コンテンツを配信するサーバを何といいますか?

1)Webブラウザ

2)Webクライアント

3)ドメインサーバ

4)Webサーバ

問題2

Webサーバの最上位のフォルダを何といいますか?

1)ドライブ

2)マウントフォルダ

3)ルートフォルダ

4)DocumentRoot