はじめに
今回は『サーバー』の役割について解説していきます。
では、サーバーの『役割』とは何でしょう?
結論から言えば、サーバーの役割とは『ネットワークを作り管理する』ことです。
『サーバー』はネットワークの中でこそ真価を発揮する
前回、サーバーは『サービスを提供するコンピューター』というように書きました。
実際これも役割の一つですよね。
ただ、これだとちょっと曖昧なのでもう少し掘り下げていきたいと思います。
まず、サーバーは単体での動作だけだとパソコンとあまり変わりありません。
今は相当高性能なパソコンも作られていますから、ハードウェア的な違いはパソコンよりも安定性や信頼性が増すくらいでしょうか。
ところが、サーバーがネットワークの一部として動作すると、それはもうパソコンとは雲泥の差が現れます。
サーバーを介して、他のあらゆる端末をネットワークとして繋げることができるからです。
ネットワークとしてサーバーに繋がれば、各端末からの様々な要求をサーバー側で処理することや情報の提供が可能になります。
サーバーはネットワークの一部になることで、その存在価値が発揮されるのです。
私たちが主に利用する『クライアント/サーバー型ネットワーク』とは?
ここから、端末(PC)のことを『クライアント』と呼び始めることにします。
なぜそう呼ぶかというとネットワークの形態の一つで、『サーバー』を中心に『クライアント(PC)』が放射状に接続するネットワークのことを『クライアント/サーバー型ネットワーク』と呼ぶことに由来するからです。
(別のネットワーク形態に『peer-to-peer』というものもあります)
そして、インターネット上では、この『クライアント/サーバー型』を主に私たちは利用しています。
イメージとしては、スマホで何かを検索すると、その答えが自分のスマホに表示されますよね?
この現象は、検索する対象を『リクエスト』としてサーバーに送り、そのリクエストに対してサーバーが『レスポンス』(答え)を返しているわけです。
これは私ごとなのですが、インターネットが普及を始めたとき私はまだ子供の頃でした。
その当時、私がPCでどこかのwebサイトを見たいと検索して、そのwebサイトが画面に映った時、私はその場所まで行ってその情報を見ているのだとずっと思っていました。
ところが、これは恥ずかしながら間違いなのですよね。
『クライアント/サーバー型』は、あくまでリクエストした回答が自分の端末に返ってきているに過ぎないのです。
どんなにあなたが外国のwebサイトに訪れても、決してあなたのブラウザがその外国に行っているわけではありません。
このことをきちんと覚えておかないと、サーバーやネットワークの話はちんぷんかんになってしまいますからご注意ください。
さらに付け加えると、この『クライアント/サーバー型』の特徴は、この仕組みが逆転することがないことです。
つまり、サーバーからクライアントへのリクエストというものはないわけです。
サーバーはネットワークを作り管理している
基本的にネットワークというものは、クライアント同士(PCとPCなど)で繋げてもネットワークになり得ます。
ところがこの方法だと、かなり限定的な使い方にしかなりません。
その理由は、クライアントが多数あった場合の想定にはなっていなかったり、そのネットワークを作ったクライアントが動作していない限り使えないからです。
そこで、必然的にサーバーを使ったネットワークを作るという考えが生まれてきます。
サーバーがあれば常にそのネットワークは動作していますし、何よりサーバーを中心とすることで、より広範囲のネットワークが作れるようになります。
そうなると、サーバーを介して多数のクライアントや遠方のクライアントとも繋がることができます。
しかし、ここで一つの問題も生まれます。
より広範囲にネットワークを作るということは、クライアントもそれだけ繋ぎやすくなるので、そのネットワークには必要のないクライアントまでアクセスできてしまうことです。
これでは当然ながら情報が漏洩してしまいます。
そこで、サーバーの機能の中に、これらのクライアントを管理できるようにアクセス制限を設けられるようにしたのです。
つまりクライアントはIDとパスワードを用い、サーバー側がその認証を許可することでネットワークに入ることができ、反対にIDとパスワードが間違っていれば、そのクライアントは制限の対象になるわけです。
このようにサーバーはネットワークを作り、そしてそのネットワークを安全に運用できるように管理もしているのです。
まとめ
サーバーはネットワークがあってこそ動きますし、真価を発揮します。
そして『クライアント/サーバー型ネットワーク』のおかげで、インターネットをより身近にしていくれているわけです。
しかし、そのサーバーの基本的役割は、サービスを提供するだけでなく、ネットワークを作りそして管理していることだとも言えます。