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