30才でIT未経験者だった当時、「サーバ」と「クライアント」という単語が出てきて、何のことか全く分からず当時の上司にひどく驚かれたことがある。
(詳細はこちら↓)

サーバとはどういうものか、クライアントとは何なのか? IT系企業の方や、今後システム関連に携わる方であればまず知っていなくていけない基礎的な話になる。
是非最後までご覧いただきたい。
サーバとは何か?
サーバとはどういうものか、さっそく見てみよう。
サーバとは、インターネットやLANなどのネットワークを通じて受けた要求(リクエスト)に応じて、何らかのサービス(service)を返す役割を持ったシステムと定義されている。(参照:IT用語辞典バイナリhttps://www.sophia-it.com/)
簡単に言うとPCやスマホなどからWEBアクセスした際に、該当ページを表示させているのがサーバの役割である。もう少し身近な例を挙げると、スマホからSNSで他の人の投稿をチェックした際に、投稿された画面を表示することや、YouTubeで動画再生をクリックした場合、動画データを提供してくれるのがサーバの役割である。
また、サーバにはOSがある。OSとはスマホやPCを動かす際の基盤となるシステムで、スマホだとAndroidやiOS、PCだとWindows10やWindows11などを指す。
サーバのOSにもいくつか種類があるが、現在では「Windows系」「UNIX系」の2つが主流となっている。
Windows系にはPCで使われているWindows10やWindows11と同じように、サーバ専用のOSでWindows Server 2019やWindows Server 2022というものがある。
UNIX系ではAIX、Solaris、Red Hat Enterprise Linux、Ubuntu、Cent OSなど多種多様だ。WindowsとUNIX系についてはまた別の機会で触れさせていただきたい。
<サーバのイラスト>
PCと比較するとサーバの機能は高性能で筐体が大きく高価である。
サーバの種類について
サーバには用途に応じてたくさんの種類があるが、ここでは代表的なサーバを紹介したい。
Webサーバ
WebサーバとはEdgeやGoogleなどのブラウザを介してサイトにアクセスした際にWebページを表示するためのサーバで、Webサーバ内には、HTMLや画像データが保存されている。皆さんがYahooなどのサイトにアクセスした際に表示させてくれているのがWebサーバで最も身近にあるサーバだと思う。
メールサーバ
メールサーバとは、メールを送受信するための役割を担うサーバのことである。
送信に必要なサーバ、受信先を照合するサーバ、受信に必要なサーバの3種類から成り立っており、メールの流れとして大まかに以下の流れになる。
- GmailやOutlookなどのメールソフトでメールを送信する。この役割を送信に必要なサーバが担っている。
- 送付したいメールの宛先がどこにあるのか調べる必要がある。メールサーバのIPアドレス(住所)を照合して住所を調べるのが、受信先を照合するサーバである。
- 宛先が分かったら、受信先サーバにメールの転送を行う。これがメールの受信に必要なサーバである。
- 受信者側のGmailやOutlookなどのメールソフトでメールを確認する。
このように見えないところで行われている処理でメールの送受信を可能にしており、クライアントとサーバの仕組みが使用されている。
データベースサーバ
文字通り様々なデータが蓄積されており、PCやスマホ側からのリクエストに応じで対象データを提供しているサーバである。
わかりやすいところでいうと、ショッピングサイト等で会員登録や購入履歴などを見ることがあると思うが、それらの会員情報等を格納しているのがデータベースサーバである。PCやスマホで操作したデータの提供を行っているのがこのサーバである。
クライアントとは何か?
サーバと同様にクライアントの定義を見てみよう。
クライアントとは、何らかのサービスを提供される側と定義されている(参照:IT用語辞典バイナリhttps://www.sophia-it.com/)
つまりクライアントとは、サーバが持っているデータなどのサービスを受ける端末のことであり、PCやススマホのことを指している。
前述の通りクライアントにもOSがあり、PCだとWindows10やWindows11などがある。
クライアントとサーバの構成について
前述のサーバの種類でも取り上げた通り、サーバの機能とクライアントの機能をそれぞれ分散して行っているのがクライアントサーバシステムである。
クライアントサーバシステムが登場する前は、全ての処理を一台で行う集中処理システムと呼ばれる方式が主流だったが、この1台が故障してしまった場合には、そのコンピュータが提供していた全ての機能が使えなくなってしまうなどといったデメリットがあった。そのため、クライアントとサーバで役割を分担しようとして誕生したのがクライアントサーバシステムである。
クライアントサーバシステムは、システムを3つの階層に分けて設計しているのが主流となっていて、ユーザの入出力が行われる「プレゼンテーション層」、業務を処理する「ファンクション層」、データベースの「データ層」の3階層に分離したモデルとなっている。
<Web3階層クライアントシステム>
・プレゼンテーション層=Webブラウザを提供(クライアント)
・ファンクション層=Webサーバ(サーバ)
・データ層=データベース(サーバ)
クライアント側ではユーザが操作して画面を表示させ、サーバ側では、リクエストに対しアプリケーションが動作し、結果をクライアント側に返している。
まとめ
クライアントとサーバとの違いや、クライアントサーバシステムについてご理解いただけただろうか。
私たちが何気なく使っているショッピングサイトやメールについても、これはクライアントサーバシステムなのかと思いを馳せていただけることで、よりシステムを身近に感じていただけると思う。
コメント