サーバーとは
サーバーは、ネットワーク越しに届く要求を受け取り、データや機能を応答として提供するコンピューターまたはソフトウェアです。クライアントが「このページをください」と要求し、サーバーがページのデータを返す関係が代表例です。
大きな箱型の機械だけを指す言葉ではありません。要求に応答してサービスを提供する役割が中心であり、家庭の小型機器、仮想マシン、クラウド上のプログラムもサーバーとして動けます。
要求と応答サーバーは要求の内容を読み、結果を返す
クライアントブラウザページを要求
HTTP要求GET /book/→
←200 OK + 文書HTTP応答
サーバー要求を処理データを返す
「サーバー」という言葉が指す三つの範囲
- サーバー機
- 処理装置、メモリー、保存装置、ネットワーク端子を備えた物理的なコンピューターです。ラックに収める専用機だけでなく、一般的なパソコンが役割を担うこともあります。
- 仮想サーバー
- 一台の物理機の資源をソフトウェアで分け、独立したコンピューターのように動かした環境です。利用者からは物理機の境界が見えないことがあります。
- サーバーソフトウェア
- 要求を待ち受けて処理するプログラムです。Webサーバー、メールサーバー、DNSサーバーなど、提供する機能によって呼び名が変わります。
会話の中で「サーバーを再起動する」と言ったとき、機械全体、仮想環境、特定のプログラムのどれを指すかで影響範囲が変わります。操作や障害の説明では、どの範囲のサーバーかを補うと誤解を減らせます。
一台の中の層機械の上で複数のサーバー機能が動く
Web
メール
DNS
接続先を待ち受ける場所
サーバーソフトウェアは、通常はプロトコルとポート番号を決めて要求を待ち受けます。WebではHTTPやHTTPSが使われ、同じIPアドレスでも宛先のポートやホスト名によって別のサービスへ振り分けられます。
要求が増えたときは、処理を複数台へ配る、同じ内容を一時保存する、データベースを別の機械へ分けるなどの設計を使います。「サーバーが一台ある」だけでは、そのサービス全体の構成や保存場所までは分かりません。
サーバーとデータセンター、クラウドの違い
データセンターはサーバーや通信設備を安全に動かすための施設です。クラウドは、計算・保存・アプリケーションなどの資源をネットワーク経由で必要に応じて利用できる提供モデルです。サーバーは、その中で実際の処理を担う機械やソフトウェアです。
仕様の確認資料:RFC 9110「HTTP Semantics」