画像ツール一覧

サーバー

Server

ネット・クラウド

サーバーは、クライアントからの要求に応じて機能やデータを提供するプログラム、またはそれを動かす機器です。常時稼働する本番システムだけでなく、手元のPCで動かす開発用Webサーバーも含みます。

🐾 猫で例えると?

カリカリマシーン(自動給餌器)の前で、ご飯が提供されるのをじっと待っているアメショ
ご飯(データ)の提供を待つクライアント猫とサーバー(給餌器)

ご飯を提供する給餌器をサーバー、受け取るアメショをクライアントに見立てると、役割分担が分かります。ただし、タイマーで一方的にご飯を出す動作は、Webの要求・応答そのものではありません。「猫がボタンで要求し、給餌器が量を確認して返す」と考えると、リクエストとレスポンスに対応します。

🐾 PR

💻 IT現場における「サーバー」とは?

ITの現場において「サーバー」という言葉は、大きく2つの意味で使われます。1つ目は「ハードウェアとしてのサーバー(データセンターなどにある強力なコンピュータ機器)」、2つ目は「ソフトウェアとしてのサーバー(WebサーバーソフトやDBサーバーソフトなど)」です。

私たちが普段スマートフォンで見ているWebサイトやアプリ、SNSのタイムラインなどは、すべて世界のどこかで稼働しているサーバーが、私たちのスマホ(クライアント)からの「このページを見せて」というリクエストに対してデータを返してくれているおかげで成り立っています。

⚠️ サーバーの種類と役割(クライアント・サーバーモデル)

提供するサービスに応じて、サーバーには様々な種類があります。Webページを表示する「Webサーバー」、データを安全に保管・抽出する「データベース(DB)サーバー」、メールの送受信を担う「メールサーバー」などです。近年では、物理的な機械を自社で買わずに、AWSやGoogle Cloudなどの「クラウドサーバー」を利用するのが主流となっています。

リクエストとレスポンスの仕組み

クライアントからサーバーへの要求を「リクエスト」、サーバーからクライアントへの返答を「レスポンス」と呼びます。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "item": "カリカリ",
  "amountGrams": 20
}

HTTP/1.1形式で簡略化した応答例です。200 はHTTP側の状態で、JSON本文の項目ではありません。本文に "status": 200 と書くだけでは、実際のHTTPステータスは変更されない点に注意しましょう。

🛠️ サーバー構築・運用のポイント

システムを安全かつ快適に動かすために、サーバー運用で気を付けるべき重要なポイントは以下の通りです。

猫の要求に応えるカリカリマシーンのように、サーバーは要求を受けて処理を返します。電源が入っているだけでサービスが使えるとは限らないため、アプリの応答、処理のログ、資源の使用量を分けて確認することが運用の基本です。