基本情報技術者 PR

【基本情報】クライアントとサーバって何?その違いについても解説!

記事内に商品プロモーションを含む場合があります

クライアントとサーバ

私たちがスマホやパソコンで使うサービスにはネットワークに繋がっていないと使えないものが沢山あります。例えば、Webサイトの閲覧です。

実はWebサイトの閲覧を行うにはクライアントサーバの2種類のコンピュータが必要です。
クライアントはサービスを受け取り利用するコンピュータサーバはサービスを提供するコンピュータです。Webサイトの閲覧ではWebページを保管・提供するWebサーバを、メールの送受信にはメールサーバを使います。クライアントとサーバがネットワークを介して動作するシステムのことをクライアントサーバシステムと言ったりします。また、Webサイトを閲覧するシステムのことを特にWebシステムと言います。

実際にユーザが操作するのはクライアントPCで、クライアントPCは操作内容に従ってサーバへサービスを要求します。サーバからサービスが返ってきたら、クライアントPCはユーザが望む形で結果を表示します。このようにクライアントとサーバがやり取りするからネットワークが必要になる訳です。

(参考)スタンドアローンシステム
私たちのスマホやパソコンにはネットワークに繋がっていなくても使えるサービスがあります。タイマーやメモ帳がその例ですね。

このように他のコンピュータとやり取りすることなく、単独でサービスを提供できるようなシステムをスタンドアローンシステムと言います。

クライアントとサーバの違い

目の前にコンピュータが置いてあって「これはクライアントでしょうか?サーバでしょうか?」と質問されても「100%サーバです」とは言えません。クライアントやサーバはあくまでも役割を意味する言葉だからです

クライアント:サービスを受け取る役割を持ったコンピュータ
サーバ   :サービスを提供する役割を持ったコンピュータ

クライアントもサーバも役割が違うだけで両方ともコンピュータです。なので、私たちが普段クライアントとして使っているコンピュータもサーバとして使うことが実は可能だったりします。

とは言え、クライアントとサーバで担う役割が違うので、当然コンピュータに求められる特徴も違うんですよね

サーバには、Webサイトをクライアントに提供するWebサーバと言うものがありますが、多くの人から、しかも同時にWebサイトを閲覧したい!という要望が届くことだってある訳で、もちろんサーバはその全ての要望に応えなくてはいけません。
その一方で、サーバはクライアントからの要望にさえ応えられれば良いので、クライアントに求められるような操作性や画像処理能力は必要ない訳です。

また、例えばノートパソコンやスマホのようなクライアントに使うコンピュータは持ち運ぶことを前提に作られていますが、Webサーバやメールサーバは持ち運んだって仕方ない訳で、むしろ災害があっても壊れないように頑丈な作りである必要があります。

Webシステムで登場するAPサーバ

Webサイトを閲覧する時、WebサーバからWebページを貰って表示すると説明しました。Webサイトってどんな仕組みで動いてるの?と聞かれたら基本これで構いません。

しかし、世の中には器用なことが出来るWebサイトがあります。分かりやすいのが楽天市場やAmazonのようなECサイトです。
ECサイトはログインする人によってホームページに表示されるオススメ商品や購入履歴が異なります。また、商品ページを見るタイミングによって在庫情報が異なります。

このように閲覧する人やタイミングによって表示内容が変わるコンテンツを動的コンテンツと言い、逆に誰がいつ閲覧しても表示内容が変わらない普通のページを静的コンテンツと言います。

動的コンテンツを表示するには、人や時間によって異なる結果を返すようにプログラムを実行する必要があります。このプログラムを実行するのがAPサーバです。APサーバは必要に応じて商品情報や在庫情報を持っているDBサーバとやり取りしながらプログラムを実行し、実行結果をWebサーバに返します。Webサーバは実行結果を踏まえたWebページをクライアントに返します。

WebサーバとAPサーバを分ける理由は役割分担することで負荷を分散させたいからです
Webシステムに限らず、ITでは役割によってサーバを変えたり、システムを変えたりというのは結構あります。1つにまとめてしまうと、負荷が偏ってしまったり、その1つが故障した時に全ての機能が使えなくなってしまうからです。

基本情報技術者試験での出題例

平成30年度秋期問13

基本情報技術者
午前試験 平成30年度秋期問13

Webシステムにおいて,Webサーバとアプリケーション(AP)サーバを異なる物理サーバに配置する場合のメリットとして,適切なものはどれか。

ア Webサーバにクライアントの実行環境が実装されているので,リクエストのたびにクライアントとAPサーバの間で画面データをやり取りする必要がなく,データ通信量が少なくて済む。

イ Webブラウザの文字コード体系とAPサーバの文字コード体系の違いをWebサーバが吸収するので,文字化けが発生しない。

ウ データへのアクセスを伴う業務ロジックは,Webサーバのプログラムに配置されているので,業務ロジックの変更に伴って,APサーバのプログラムを変更する必要がない。

エ 負荷が軽い静的コンテンツへのリクエストはWebサーバで処理し,負荷が重い動的コンテンツへのリクエストはAPサーバで処理するように,クライアントからのリクエストの種類に応じて処理を分担できる。

正解と解説

正解は”エ”

WebシステムにおいてWebサーバとAPサーバを分けるのは、役割毎に負荷分散が可能になるからです。

Webサーバ:静的コンテンツの処理
APサーバ:動的コンテンツの処理

静的コンテンツは誰がいつ見ても内容が変わらないコンテンツで、動的コンテンツはAmazonのオススメのように誰がいつ見るかによって内容が変わるコンテンツでした。