Web制作の仕事では必ず耳にする「サーバー」という言葉。プログラマであれば、サーバーの知識は当たり前にあると思います。しかし、WebデザイナーやWebディレクターになったばかり、もしくは勉強中の人は、サーバーってなんなのかいまいちピンとこないのではないでしょうか。
この記事ではサーバーについて、Webデザイナーのフクが初心者の方にもわかりやすい様に解説していきたいと思います。
この記事はこんな方におすすめです。
- Webデザインは勉強中だけど、サーバーのことはさっぱりわからない方
- 非エンジニアの方
この記事を書いているのは、Webデザイナー歴17年の現役フリーランスです
サーバーはWeb社会においてなくてはならない存在
サーバーは現代のネット社会において、なくてはならない存在です。
現代はインターネットを通じて全ての情報をやり取りする時代となりました。
インターネット上にあり全てのデータのやり取りを管理しているのが、サーバーです。
今この社会で稼働しているシステム、例えばSNSやネットショッピング、銀行のATMやオンラインゲームといった全てのオンラインシステムはサーバーを介して動いています。
サーバーにデータをおいて、サーバーでプログラムを動かす。サーバーでサービスを展開する。
サーバーは24時間休みなく動き続けています。
サーバーとは、データの保管庫である
サーバーとは、ネットワーク上にある、データの保管庫のようなものだと思ってください。
例えば、自分のパソコンに入っているデータは自分だけしか見ることができませんよね。
もしこの自分だけの情報を他人と共有したい時に使うのが、サーバーです。
インターネット上のサーバーにデータを置くことで、自分以外の人ともデータを共有できるのです。
ネットワーク上にデータを置くには、そのデータを格納するスペースが必要です。
サーバーはその場所にあたります。
例えば、googleフォトといったクラウド画像預かりサービス。これらはサーバー上に画像を保存しています。SNSの写真や投稿データも全て、サーバー上にあります。
会社員なら社内サーバーを使ったことがあるのではないでしょうか。会社内でサーバーを作って、その中に社内ファイルを置くことで、社員同士で共有してアクセス・編集ができます。また、この社内サーバー上で社内限定の業務システムも動かしたりします。
ほとんどの企業が社内サーバーを持っており、その中で自社データを管理しています。
今度は、社内ではなく、もっと大きな世界中をかけめぐるインターネットで考えてみましょう。
例えば、今あなたのパソコンの中にWebサイトのデータ(HTMLファイルや画像ファイル)が入っているとしましょう。これを世界中に公開したいとします。
インターネット上には無数のサーバーが存在しています。このサーバーのどれかひとつにサイトのデータを乗せる=アップロードすることで、あなたのサイトは世界中の人が閲覧することができるようになります。
サーバーは、インターネット上でデータを保持するのに絶対必要なスペースなんです
Webサイトのデータだけではありません。
サーバーは、メールのデータやファイルのデータ等、様々なデータをネットワーク上に保管することができます。
企業のサイトも、SNSも、googleフォトも、全てサーバー上で執り行われているのです。
サーバーはサービスを提供してくれる存在
サーバーがデータを格納する場所だというのはわかりましたね。
サーバーはただの箱?収納スペース?いえいえ、サーバーはデータを保管しておくだけの場所ではありません。
サーバーにはちゃんと頭脳があります。それもとびきり頭のいい。
サーバーはユーザーがあらゆる要求(リクエスト)を出した時に、その要求に答えて、サービスや情報を提供する役目を持っています。
例えば、ユーザーが「このホームページが見たい」というリクエストを送るとします。具体的には、ブラウザにURLを打ち込みを行います。そのリクエストを受け取って適したサービスを提供してくれる。これがサーバーの仕事です。
「提供する」を英語でServer(サーバー)と言います
要求されたことに対して的確にレスポンスしてくれるサーバー。とても働き者なんです
サーバーの役割
- データを格納する役割
- リクエストされたデータを提供する役割
サーバーとデータセンターについて
サーバーという存在
インターネットには無数のサーバーがあると先程言いましたが、これらのサーバーは勝手に生まれたわけではなく、必ず個人だったり会社だったりの ”誰か” が、作って立ち上げたものです。
サーバーはクラウド上にある概念的なもののようにも思えますが、実際は物理的に存在もします。
このような装置がサーバー(イメージ)です。薄型のものや、もっと小さいサイズのものもあります。
見た目は普通のパソコンです。そう、普通のパソコンなんです。
普通のパソコンにサーバー用のアプリケーションをインストールすることで、サーバーとして使えるようになります。ただしサーバーにするには高速な処理速度かつ耐久性も必要なので、どんなパソコンでも良いわけではありません。
この中に実際にデータが保存されています。なので、この装置が物理的なダメージを受けてハードが壊れると、中のデータも消えます。サーバー上に上がっていたデータは全てなくなります。
そのようなことが起きても大丈夫なよう、通常サーバー運用は必ずバックアップ体制をとっています。
サーバーを立ち上げることは、専門的な知識さえあればそこまで難しくありません。サーバー用にパソコンを購入して、自分の部屋でサーバーを立ち上げる人も珍しくありません。これを自作サーバーと言います。
自作サーバーを立てるのは、ネットワークの良い勉強になります。ただしセキュリティには気をつけてくださいね
データーセンターとは
このような写真を見たことはないでしょうか。これは数百、数千、場所によっては数万というサーバーを管理している場所で、データセンター(DC)といいます。また、サーバーを格納している部屋をサーバールームと言います。データセンターは、遠隔地からでも管理・監視できるようになっています。
サーバーはスペックにより動きの許容量が決まっています。なので、自分の許容量をオーバーすると、動きを止めてしまいます。
例えばマスコミに取り上げられた企業が一時的にホームページが見れなくなることがありますが、アクセスが集中しすぎてサーバーに負荷が生じ、ダウンしてしまったからです。
なので、アクセスの多い大規模なサイトを運営するには、とても大きな容量と高いスペックのサーバーが必要になります。
amazonクラスになると、世界各国に大規模なデータセンターがあります
サーバーのイメージがなんとなくわかってきたでしょうか。
例えばこのサイトは、Xserverというレンタルサーバー会社の管理しているサーバー上にあがっています。私はXserverにお金を払って、サーバースペースをレンタルさせてもらっているのです。
同様に、あなたがいつも見ているWebサイトはどこかのサーバーに上がっているデータであり、あなたが使っているメールはドコモやau等の通信会社のサーバーを介しているものであり、TwitterもInstagramもそれぞれのサーバー上でやりとりしているのです。
サーバー/DCを管理するのはサーバーエンジニア
何度も言いますが、サーバーというのは、ありとあらゆるデータが補完される場所です。つまり現在のインターネット社会において、サーバーの運用というのは非常に大事なものです。電気や水道と同じ、社会のインフラです。
このサーバーを構築・運用・管理する専門の仕事を、サーバーエンジニアまたはネットワークエンジニアといいます。
サーバーは24時間365日稼働しています。生き物を相手にしているのと同じ状態ですね。
私たちが普段不便なく生活できるのは、サーバーエンジニアの方々のおかげです。
サーバーにはいろいろな種類がある
・サーバーは、ネットワーク上でデータを保持している
・サーバーは、リクエストに応じてデータやサービスを提供する役割を持つ
というお話をしました。
サーバーがないと、情報の共有もできませんし、システムも動きません。サーバーがないと、私たちは何もできないのです。
そんなサーバーは多くの要求に応えるべく、いろいろな種類に分かれています。
例えば、ホームページのデータであればWebサーバー、メールのデータはメールサーバー、という風に細かく分類されています。
これらはどうやって区別されているのでしょうか。
サーバーを用意する時、サーバー用のパソコンにそれぞれ欲しいサーバーのアプリケーションをインストールすることで、そのサーバーに役割を与えます。
Webサーバーが欲しければWebサーバー用のアプリケーションを入れるのです。
次にサーバーを種類別に説明していきます
サーバーとクライアントについて
サーバーの種類を紹介する前に、サーバーとクライアントについて説明しますね
サーバーの仕事は、ユーザーからのリクエストを聞いて、適したデータを提供することでしたね。
サーバーとは、データやサービスを与える側です。
そして、サービスを受け取る側を「クライアント」と言います。
要求する「クライアント」と、提供する「サーバー」。
このサーバーとクライアントの関係はとっても重要です。これからの話で重要になってきますので、ぼんやりでもいいので意識してみてくださいね。
サーバーはリクエストに応えて提供する側です。サーバーがないと我々は何ひとつITサービスを得ることができません。サーバーは絶対的強者なのです。
Webサーバー:Webサイトのデータを提供するサーバー
Webサーバーは、Webデザイナーにとってもっとも馴染みの深いサーバーです。
HTML、CSS、JavaScript、画像、動画 といったWebサイトのデータを、クライアントのリクエストに応じて提供する。
これが、Webサーバーの仕事です。
Web制作者は、作ったサイトのデータ(HTML・画像・その他ファイル)を、全てWebサーバーにアップロードします。
そして、世界中のユーザーのクライアント(ここではchormeやSafari、edge等のブラウザのこと)からリクエストをもらうたびに、Webサーバーはそのサイトのデータを提供します。
そして、クライアントは、もらったデータを解析して今見ているWebサイトの形にして表示しているのです。
そのため、Webサイトを立ち上げたい人は、Webサーバーを持った会社と契約する必要があります。
メールサーバー:メールの送信・受信をつかさどるサーバー
普段何気なくやりとりしているメール。Outlookとか、Windows Mailとか、Macなら Mac Mail等、私たちはこれらのメールソフトを使ってネットワーク上にメールを送信・受信しています。
ネットワーク上でのメールの送受信は、全てメールサーバーを介して行われています。
メールの役割は、送信と受信がありますよね。メールサーバーは、送信サーバーと受信サーバーに分かれています。
送信サーバー:SMTP(えすえむてぃーぴー)サーバー。メールを送信する役目を持ちます。
受信サーバー:POP(ぽっぷ)サーバー、IMTP(あいえむてぃーぴー)サーバー。メールを受信する役目を持ちます。
これらの言葉は独自ドメインのメールの設定をしたことがある人なら、聞き覚えのある単語ではないでしょうか
メールサーバーはそれぞれ自分が契約しているサーバー会社のものが使われます。
例えば、
会社のメールアドレス→会社が契約しているサーバー
docomo.ne.jpのメールアドレス→ドコモのサーバー
sonet等のプロバイダのメールアドレス→ロバイダのサーバー
と、それぞれのメールサーバーが使われます。
イメージとしてはこんな感じです。
1,しろやぎさんが出したメールは、しろやぎさんの契約しているメールサーバーの「送信サーバー」に届きます
2、しろやぎさんの「送信サーバー」は、メールの宛先から届け先のドメイン(kuroyagi.com)を探し出し、そのドメインがつながっているサーバーを探し出して、転送します
3、くろやぎさんの「送信サーバー」がしろやぎさんからのメールを受け取ります。そして自身の同じサーバーにある、「受信サーバー」にメールを転送します
4、「受信サーバー」はくろやぎさんのクライアントPC(メーラー)に、メールを届けます
なぜメールサーバーは2つに分かれているのか
メールサーバーは以下のふたつに分かれています。
SMTPサーバー:送信の役目を持つサーバー。郵便ポストや集荷・分配・宅配の役目を持つ郵便局のようなものです。 クライアントから送信希望のリクエストをもらうと、送信メールを受け取り、送信先のIPアドレスを探し当て、送信先の受信サーバーに送ります。
POP/IMTPサーバー:メールを受け取る役目を持つサーバー。2種類ありますが、違いは後述します。クライアントから受信希望のリクエストをもらうと、自分のサーバーに届いているメールをクライアントのPCに届けます。
なぜメールサーバーは分かれているのでしょうか。それは、それぞれの役割と稼働率が違うからです。
送信(SMTP)の方は、送ったメールはすぐに相手側のサーバーに送信するため、常に稼働が必要になります。非常に負荷が高い。また、大量のメールを送るケースもありますので、高いスペックが求められます。
一方で、受信(POP/IMTP)の方は、自分がパソコンを立ち上げた時や、一定時間のタイミングで受信を確認することになるので、負荷は低いです。スペックを高くする必要はありません。
DNSサーバー:ドメインとIPアドレスを紐づけるサーバー
DNSという言葉は耳なれない人もいらっしゃるでしょう。ちょっとだけ難しい概念かもしれません。
Webサイトにはドメインという名前がついていますよね。このサイトで言うと、「fukufuku-life.com」というドメイン名です。
一方で、インターネット上のサイトには全てIPアドレスという識別番号がふられています。
コンピュータは、数字しか理解することができません。なので、fukufuku-life.comというドメインそのままでは、どのサイトのことを指しているのかコンピュータには理解できないのです。
このIPアドレスとドメインを紐づけているのが、DNSというシステムです。
先程説明した、WebサーバーとメールサーバはDNSサーバーとタッグを組んで活動しているのです。
このサイトのドメインとIPアドレスは以下になります。
fukufuku-life.com = 14.8.13.161
ドメイン名は私が作ったもの、IPアドレスは koneta.nifty.com で調べることができます。
例えば、ユーザーがドメイン名をブラウザに打ち込んで、このホームページを見たいとリクエストをしたとします。
DNSサーバーは、あなたが打ち込まれたドメイン名をIPアドレスに変換し、またブラウザ(クライアント)に返します。DNSの働きによって、ブラウザはドメインとIPアドレスをマッチングすることができます。
ユーザとしては、ドメイン名だけで目的のサイトにたどり着くことができるのです。
メールも一緒です。送信メールには、宛先のメールアドレスしか書いていません。
メールアドレスに書いてあるドメイン名とIPアドレスをDNSサーバーが紐づけることで、はじめて相手先のメールサーバーがわかるのです。
Web制作に馴染みの深い、
・Webサーバー
・メールサーバー
・DNSサーバー
について説明しました。これ以外にも、データサーバーやFTPサーバーやSSHサーバーなど、まだまだたくさんの種類のサーバーがあります。
サーバーを複数に区別することで、より効率的なネットワークを形成することができるのです。
まとめ
この記事では、
- サーバーの役割
- サーバーの種類
といった、サーバーの基本的な知識について説明しました。サーバーの概要的な話なので、なんとなくでも仕組みがわかっていたらOKです。
次の記事では、レンタルサーバーとクラウドサーバーについて説明します。
レンタルーサーバーとクラウドサーバーの違いや選び方については、現場でも必要な知識です。
特にフリーランスであれば、お客さまに説明して提案ができるレベルになることが望ましいです。
ぜひ次の記事も読んで、サーバーの知識を深めてください