サーバーとは何か、わかりやすく、なるべく初心者も分かるよう簡単に説明する。
また、Webサーバーを中心に、サーバーの機能を見ていく。
Webサーバーとアプリケーションサーバーの違いや、Webアプリケーションの3層構造についても見ていく。
サーバー(Server)とは
サーバーとは他のコンピューターに対して何かしらの処理を行なったり、情報を提供するコンピューターのこと。
かなり定義としては広いし、実際色々な種類のサーバーがあるので、今回はWebサイトを見るときに使われるWebサーバーについて詳しく見ていく。

Webサーバーとは

Webサーバーとはウェブサイトのページの情報を保管し、PCやスマホと情報をやり取りするためのコンピューターのこと。
サーバーの中に、普段私たちが見ているウェブサイトのページが保管されており、私たちが「このページを見たい!」とリクエストすると、サーバーがそのリクエストに合わせてページを送り返してくれる。
Webアプリケーションの3層構造
シンプルに説明するとPCとサーバーのやりとりになるが、ウェブサイトページのやりとりは細かく見てみるともう少し複雑になる。
サーバーは、三種類に分けることができ、この三種類のサーバーによって様々な情報をウェブサイトで見ることができる。

例えば山田さんが自分のマイページをクリックしたときには、下記のような流れになる。

Webサーバには元々ページのデザインが入った情報(HTMLとCSS)が保管されている。
そしてデータベースには、各ユーザーの情報が入っていて、アプリケーションサーバーを介して、リクエストに沿った情報を取得している。
そしてとってきた情報をWebサーバー内のページに当てはめることで、その人独自のページを見ることができる。
ちなみにmySQLというツールを使って実際にデータベースを表示させると下記のように情報が確認できる。
(仮で作成した、顧客名簿をイメージしたデータベース)
+-----------+--------------+-----------------------+---------------+
| id | name | address | tel |
+-----------+--------------+-----------------------+---------------+
| 1 | 山田太郎 | 東京都品川区 | 090-1234-5678 |
| 2 | 田中花子 | 東京都渋谷区 | 080-5555-9999 |
| 3 | 鈴木新二 | 神奈川県横浜市 | 070-2626-6262 |
| 4 | 南雲恵子 | 埼玉県川越市 | 080-0000-0000 |
+-----------+--------------+-----------------------+---------------+
4 rows in set (0.00 sec)
データベースの詳細に関しては下記に書いた。
-
-
[DB]データベース・リレーショナルデータベースとは
データベースとリレーショナルデータベースとは何か、なるべく初心者にも分かるようわかりやすく簡単に説明する。 また、DBMSとは何か、SQL文とは何かに関しても簡単に説明する。リレーショナルデータベース ...
続きを見る
なぜWebアプリケーションの3層構造は必要なのか?
個人に沿ったページを見せることができるからだ。
例えば、もしPCとWebサーバだけだとどんなページが見れるだろうか?

元々入っているページのやりとりはできるので、Wikipediaや、会社概要のページなど、誰が見ても内容が変化しないページはPCとWebサーバだけで見れる。
だが、Facebookのマイページだったり、自分だけの投稿内容が見れたりするようなページには、アプリケーションサーバーやデータベースサーバーなど、別のサーバーが必要になってくる。
どんなところに使われているだろう?
こうした人によって異なるページが見れるサービスはどこで具体的に使われているだろう?
具体的には:
- SNSのマイページや、友達のプロフィールページ
- ショッピングサイトの自分のお気に入りページ
- YoutubeやNetflixでのログイン後のページ
など、様々なところで自分だけのページを見ている。
サーバーの用途
今回は具体的にウェブサイトを見る上でのサーバーを説明したが、これらのサーバー以外にも様々なサーバーの用途がある。
Webサーバー、アプリケーションサーバー、データベースサーバー以外には下記のようなサーバーがある。
メールサーバー
メールの送受信をするために必要なサーバー。
送信側をSMTPサーバー、受信側をIMAPやPOP3サーバーという。
ファイルサーバー
ネットワーク上でデータを使用したり、他のPCと共有するためのサーバー。
DNSサーバー
IPアドレスとドメインを結びつけるためのサーバー。
PCとWebサーバーでやりとりをするためには「IPアドレス」を使ってどのサーバーとやり取りするかを決める。
しかし「IPアドレス」は数字の羅列でできており、人間には覚えにくい。
そこで、「ドメイン」というものを使って、人間にも覚えやすいようにした。
なので人間側でドメインでリクエストが来たときに、機械が分かるようにIPアドレスに結びつけ、変換するのがDNSサーバーの役割となる。

こちらがAmazonの例。Amazonのドメインは「amazon.co.jp」で、IPアドレスは「126.243.150.151」となる。
ユーザーがamazon.co.jpで検索する(リクエストを送る)と、DNSサーバーにまずリクエストが送られ、「amazon.co.jp」に紐づくIPアドレスを見つけ、そしてウェブサーバーにリクエストが送られるようになる。
FTPサーバー
Webサーバーとファイルの受送信を行うサーバー。
FTPサーバーに関しては、こちらで詳しく書いた。
-
-
[WordPress]FTPソフトとFTPサーバーとは?使い方も合わせて紹介
そもそもFTPとは何か、そしてFTPソフトとFTPサーバーとは何かを説明する。 またwordpressのカスタマイズにあたって必須のFTPソフトの使い方に関しても、MacとWindows両方で使えるF ...
続きを見る
プロキシサーバー
インターネットへのアクセスを代理で行ってくれるサーバー。
プリントサーバー
複数台のパソコンでプリンターを使用できるようにしたりなど、プリンターを制御するためのサーバー。
など、色々なサーバーがある。
以上がサーバーについての説明となる。