【初心者向け】サーバーとクライアントの違いとは

SNSフォローボタン

フォローする

こんにちは、SaToShiです。

今回はサーバーとクライアントについて説明します。

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

サーバーとは

サーバーとは、ざっくりいうとクライアント側にコンテンツ(文字、画像、動画など)を提供する(渡してあげる)パソコンです。

serve(サーブ)という英単語には、「(人や料理店が飲食物を)出す、提供する」という意味があります。そのためserver(サーバー)とは「(人や料理店が飲食物を)出す、提供する人、モノ」という意味があります。

webにおいてはサーバーはHTMLファイル形式のコンテンツを出す、提供するパソコンのことを言います。

一般的にサーバーの役割を担うパソコンは、コンテンツを要求する複数のパソコン(クライアントと呼ぶ)に24時間対応しなければいけないので常に稼働状態です。

またサーバーが故障するとクライアント側のパソコンに下記のような障害が発生します。

①アクセスしたいページにアクセスできない。

②サーバーに接続できず、アプリゲームなどのゲームサービスが利用できない

このためサーバー用のパソコンは一般的なパソコンより高性能なものが使われます。

ちなみにサーバー用のパソコンに使われる有名なソフトはApache HTTP Server(アパッチ)やInternet Information Services(IIS)などがあります。

クライアントとは

クライアントとは、さっくりいうとサーバー側にコンテンツを要求して、それを受取る(利用する)パソコンです。

私たちが普段使っているPCのほとんどはクライアントの役割を担ってます。

client(クライアント)とは「(弁護士などの)依頼人、(商店などの)顧客、お客」という意味があります。

webにおいてはクライアントはHTMLファイル形式のコンテンツを受取る、利用するパソコンのことを言います。

クライアントの役割を担うパソコンは、サーバーと違い常に稼働状態でなければいけないわけではなく、任意のタイミングでコンテンツを受取る、利用できます。

ちなみにクライアント用のパソコンに使われるソフトは皆さんが普段利用しているInternet Explorer、Firefox、SafariなどのWebブラウザです。

サーバーとクライアントの関係性

サーバーとクライアントとの違いは下記の図のような関係になっています。

クライアント側のPCがサーバーに対してサーバーの持っているコンテンツを要求します。

その要求に対してサーバーが応答し、クライアントが望んでいるコンテンツをHTMLファイル形式で渡します。

この関係を日常的な例に例えると下記のようになります。

1.お客さんがお店でメニューを見て注文する料理を決める(クライアント側PCでWebブラウザを使って見たいページを決める)

2.お客さんがお店側に対してメニューの料理を注文する(見たいページをクリックして、サーバーに要求する)

3.お店側がお客さんの注文を聞き、調理する(必要なコンテンツを準備する)

ここでいうコンテンツを準備するとは下記のようなことをしています

①動的コンテンツな場合、Webサーバー上で動作するプログラムがHTMLを生成する。

②静的コンテンツな場合、あらかじめ用意されたHTMLを探す。

動的コンテンツとは、プログラムによって自動的に出力される、または変更を加えられたHTML(webページのアクセス数の表示や時刻に合わせたあいさつ(こんにちは、こんばんはetc))です。

静的コンテンツとは、あらかじめ用意されたもので変化しないHTMLです。

4.出来た料理をお客さんへ渡す(要求されたコンテンツをクライアントへ渡す、クリックしたページが開く)

HTTPとは?

サーバーとクライアント間ではHTMLファイル形式のコンテンツを送受信していますが、これはどのようにして行われるのでしょうか?

日常的な例ですとお客さんへの注文を聞き、出来た料理を運ぶウェイターは誰が行っているのでしょうか?

その役割を担っているのがHTTPと呼ばれる通信プロトコルです。

通信プロトコルとは、情報をやり取りするための取り決めのことです。

通信プロトコルの簡単な例を説明すると狼煙やモールス信号があります。

合図の伝え方(狼煙ならば煙、モールス信号なら光の点滅)や合図の意味(狼煙で煙があがれば敵襲、モールス信号で「トトトツーツーツートトト」ならSOSなど)を送受信者同士であらかじめ決めて初めて通信ができます。

HTTPは「Hyper Text Transfer Protocol」を省略したものです。Hyper Text(ハイパーテキスト)とは下記のとおりです。

ハイパーテキスト (hypertext) とは、複数の文書(テキスト)を相互に関連付け、結び付ける仕組みである。「テキストを超える」という意味から”hyper-“(~を超えた) “text”(文書)と名付けられた。テキスト間を結びつける参照のことをハイパーリンクと言う。

引用元:ハイパーテキスト – Wikipedia

Transfer Protocol(トランスファープロトコル)とは直訳すると転送プロトコルです。

つまりHTTPとはハイパーテキストを転送するためのプロトコルです。

おまけ

ちなみにクライアントとサーバー間で送受信されるHTMLは「Hyper Text Markup Language(ハイパーテキスト マークアップ ランゲージ)」を省略したものです。

HTMLはハイパーテキストを記述するためのマークアップ言語です。ハイパーテキストは前述の通り、マークアップとはタグによる意味付けを行うことです(例えば見出しには<h1></h1>タグを使うなど)

つまりHTMLはハイパーテキストの仕組みを持っており、そのHTMLをやり取りするのにHTTPというハイパーテキストを転送する通信プロトコルが使われているということです。

まとめ

サーバーとクライアントの違いについて説明しました。

サーバーとは、HTMLファイル形式のコンテンツを提供するパソコンです。一方クライアントとは、HTMLファイル形式のコンテンツを受取る、利用するパソコンです。

サーバーとクライアントはHTTPという通信プロトコルでHTMLファイルのやり取りを行っています。

この記事が皆さんのお役に立てば幸いです。ではまたお会いしましょ!