サーバーってなに?現役エンジニアが解説

プログラミングメモ

突然ですが、「サーバー」「ドメイン」という言葉を聞いたことがありますか?

プログラミングに触れたことがあれば、どこかで耳にしたことがあるのではないでしょうか?

今回は、そんな「サーバー」や「ドメイン」について

「なんか聞いたことあるんだけど、実際どういうものなんだろう?」

という疑問に丁寧にお答えしていきます。

 

サーバーとは

サーバーとは主に、データや情報などの「コンテンツ」を「ネットワーク上で他のコンピュータに提供する側のコンピューター」のことを指します。

サーバーは一般的に、ビールサーバーやコーヒーサーバーといものもあるように、何かを提供するもののことを指します。

逆に、サーバーからデータや情報などのコンテンツを「受け取る側」のコンピューターや端末のことを「クライアント」というふうに呼びます。

クライアント(Client)は、英語で顧客や依頼人、取引先といった意味を表す用語です。

ネットワーク上では、コンテンツを保管・提供している「サーバー」と、コンテンツを必要としている「クライアント」とのやり取りが常に相互的に行われています。

 

サーバーの具体例

例えば具体的な例で見てみましょう。

みなさんが普段、Google Chromeなどのブラウザを通じてホームーページを閲覧するとします。

私たちは、見たいホームページを開くために、URLをブラウザに入力(または、検索結果からリンクをクリック)します。

このとき、ホームページを見たい我々のパソコンが「クライアント側」です。

クライアント側であるパソコンは、そのホームーページに情報を受け取るため、インターネットを通じて、URLの情報からWebサーバーにアクセスします。

そしてWebサーバーはURLの情報から、クライアントが要求しているコンテンツである対象のホームページをインターネット経由で、クライアント側のパソコンへ送信します。

この情報をクライアント側のパソコンが無事受け取ることによって、パソコンの画面にホームページが表示されます。

このとき、ブラウザが「クライアント」、Webサーバーが「サーバー」として、相互に機能しています。

 

サーバーの種類

サーバーには、主に2つの種類が存在します。

 

物理サーバー

物理サーバーとは、企業などのファイルを管理する専用の1台のサーバーのことを指します。

専用のサーバーなので、サーバーにインストールしているソフトウェア全てが自由に利用可能です。

物理サーバーは自社で管理できるため、ユーザー数やアクセスが多くなることによってサーバーに負荷がかかる場合は、サーバーの台数を増やしたりハードディスクを増設することで強化することもできます。

また、専用のサーバーとして機能するため、他のサーバーの障害に巻き込まれることもありません。

 

仮想サーバー

仮想サーバーは、一台のハードウェア(コンピュータなど)上に複数のサーバー環境を構築しているもののことを指します。

物理サーバーであれば、ハードウェア一台ごとに一つのサーバーを構築するため、新しいサーバーを用意する場合はその度に異なるハードウェアを用意しなければなりません。

物理サーバーは、構築するたびにコストがかかりますが、仮想サーバーであれば一台のハードウェアに対して複数のソフトに対応して異なるサーバーを高知kできるため、ハードウェアを増設するコストもかからず、省スペースで済みます。

 

サーバーの用途

サーバーには、その目的に応じて複数の用途が存在しますが、代表的なものをいくつか紹介していきます。

 

Webサーバー

「Webサーバー」とは、Google ChromeやMicrosoft EdgeなどのWebブラウザからのリクエスト(要求)に応じて、HTMLやCSSで構築されたWebページや画像などホームページ上のデータをWebブラウザに送ってくれるサーバーのことを指します。

主に、ホームページを表示させるために必要となるサーバーで、一般的にWebサーバーは、XServer(エックスサーバー)やロリポップ、さくらのレンタルサーバーなど、ホスティングサーバーをレンタルして利用することが多いです。

主なWebサーバーは次の3つが有名です。

  • Apache
  • Nginx(エンジンエックス)
  • IIS(Microsoft Internet Information Services)

 

アプリケーションサーバー

アプリケーションサーバー(APサーバー)とは、アプリケーションのプログラムを動作させるためのサーバーを指します。

一般的に、WebブラウザからWebサーバーへの通信で、動的コンテンツを閲覧する場合(例えばネットショッピングなど)は、Webサーバー単独で動作しているのではなく、「Webサーバー」「アプリケーションサーバー」「データベースサーバー」の「Web3層構造」と言われるWebシステムでWebサービスを提供しています。

このうちアプリケーションサーバーは、Web3層構造の中間に位置し、Webブラウザからの要求を処理するWebサーバーからの命令を処理してプログラムを実行したり、必要に応じて、データベースサーバーへデータを抽出・書き換え処理を行い処理結果をWebサーバーへ渡す役割を担っています。

 

データーベースサーバー

データベースサーバー(DBサーバー)とは、データを一元管理し、データの検索、データ更新、データの保存、データのバックアップなどの処理を行うサーバーのことです。

Web3層構造のWebシステムでは最下層に位置しており、アプリケーションサーバーからの要求に基づいて、データの検索やデータの更新(追加、修正、削除)を行う役割を担っています。

 

FTPサーバー

FTPサーバー(File Transfer Protocol)とは、ファイルの送受信を行うためのサーバーのことです。

Webサーバーに、Webサイト用のデータファイルを送受信するときによく利用されています。そのため、Webサーバーと同じサーバーにFTPサーバーを連携させて利用することが多いです。

 

さいごに

もしプログラミング学習にお困りなら、TechPro(テックプロ)にお任せください!

あなたの現状と目標に合わせて、最適な学習コースのご提案学習計画のプランニングをお手伝いします。

お問い合わせは以下のボタンからお気軽にお申し込みください!

TechProの体験会に申し込む

ご連絡お待ちしています!