server
からの定義ウィキペディア:
サーバーは、「クライアント」と呼ばれる他のプログラムまたはデバイスに機能を提供するコンピューター ハードウェアまたはソフトウェア (コンピューター プログラム) です。
daemon
からの定義ウィキペディア:
... は、対話型ユーザーによって直接制御されるのではなく、バックグラウンド プロセスとして実行されるコンピュータ プログラムです。... 多くの場合、システムは起動時にデーモンを起動し、ネットワーク要求、ハードウェア アクティビティ、または他のプログラムに応答して何らかのタスクを実行します。
上記の定義から私が理解していることは、server
(ソフトウェアの観点から) と は両方とも、daemon
要求に応答する継続的に実行されるプログラムであるということです。
もしそうなら、これらの用語は私には互換性があるように見えます。本当にそうなのでしょうか? そうでない場合、 adaemon
と a の違いは何ですかserver
?
答え1
サーバーはリクエストに応じて処理を実行します (SSH 接続、FTP/HTTP リクエストなど)。
対照的に、デーモンは独自のライフを持ち、システム イベントや定期的なアクションに応答します。たとえば、fail2ban
デーモンはログイン ログでブルート フォース攻撃の試みを定期的に探し、対応するアドレスを禁止します。他のデーモンは、ログ (切り捨て/圧縮) やネットワーク接続 (NetworkManager) を管理します...
答え2
Server
この概念はプログラムの種類を指します。サーバーは、誰かにサービスを提供するために、つまり別のプログラム (クライアント) にサービスを提供するために動作するプログラムです (Web サーバーはブラウザーからの要求に応え、メール サーバーはメール クライアントから電子メールを送受信します)。
Daemon
プログラムの動作モードであり、プログラムがバックグラウンドで実行されていることを意味します。
サーバーはデーモン モードをサポートできますが、フォアグラウンドでの実行もサポートできます。