サーバー
何をするものか
総務省の「国民のためのサイバーセキュリティサイト」の用語集は、サーバ(総務省の表記)を次のように説明しています[1]。
ネットワーク上で情報やサービスを提供するコンピュータのこと。
— 総務省「国民のためのサイバーセキュリティサイト」用語集
同じ項目は、逆にサーバに情報やサービスを要求するコンピュータを「クライアント」と呼ぶと続け、インターネットでは Webサーバやメールサーバ、DNSサーバなどが使われていると例を挙げています[1]。
米国立標準技術研究所(NIST)の用語集は、「ネットワーク上で、ネットワークの資源を管理するコンピュータや機器」と定義しています(和訳)[2]。例として、ファイルを保管するファイルサーバー、プリンターを管理するプリントサーバー、通信を管理するネットワークサーバー、データベースへの問い合わせを処理するデータベースサーバーを挙げています[2]。
よくある誤解:機械の名前とは限らない
総務省と NIST の用語集は、サーバーを「コンピュータ」や「機器」として説明しています[1][2]。
一方、要求と応答をやり取りする通信の約束事(プロトコル)である HTTP の仕様(IETF RFC 9110)は[3]、HTTPのサーバーを「接続を受け付け、HTTPの要求にHTTPの応答を返して応えるプログラム」と定義しています(和訳)[3]。さらに、クライアントとサーバーという言葉は、ある接続でそのプログラムが果たす役割だけを指し、同じプログラムが、ある接続ではクライアント、別の接続ではサーバーとして動くこともある、としています[3]。
つまり、資料によって「サーバー」が指すものの範囲が違います。機械(コンピュータ・機器)を指す説明と、通信の中での役割(プログラム)を指す定義の両方があります。
セキュリティのニュースで出てくるとき
総務省は、脆弱性はクライアントとサーバ、どちらのコンピュータでも重要な問題だとしています[4]。また、クラウドサービスを使う場合には、データがクラウドサービス事業者側のサーバに保管されていることを理解したうえで使うよう呼びかけています[5]。
レストランの厨房のようなものです。客(クライアント)が注文(要求)を出し、厨房(サーバー)が料理(応答)を返します。厨房の料理人も、食材を仕入れるときは業者に注文する「客」の側に回ります。