httpd(HTTP Daemon/エイチティーティーピーディー)とは、ブラウザなどから送られてくるHTTPリクエストを受け取り、Webページのデータを返す働きをする、Webサーバーソフトウェアの実行プログラム(プロセス)そのものを指す言葉です。「HTTPを扱うデーモン(常駐プログラム)」という意味から、この名前が付けられています。
現実世界に例えると、httpdはお店の受付に24時間常駐している係員のような存在です。お客様(ブラウザ)が「この商品を見せてほしい」と声をかけると、奥から該当の商品(Webページ)を持ってきて手渡す、という作業を休むことなく繰り返しています。
httpd図解
httpdの役割
httpdは、サーバー上で常時起動し続け、80番や443番といった決まったポート番号でブラウザからの接続を待ち受けています。リクエストが届くと、対応するファイルを探して読み込み、内容をブラウザへ送り返すという処理を、休むことなく繰り返し行っています。
Apacheとhttpdの関係
代表的なWebサーバーソフトウェアであるApache(Apache HTTP Server)の実行ファイルは、多くのLinux系OSで実際に「httpd」という名前が付けられています。そのため、「Apacheを起動する」という操作は、実際には「httpdというプログラムを起動する」ことを意味している場合がほとんどです。
ディストリビューションによる違い
| 系統 | サービス名 |
|---|---|
| RHEL系(CentOS、Rocky Linuxなど) | httpd |
| Debian系(Ubuntuなど) | apache2 |
httpdの起動・停止
httpdは、「systemctl start httpd」のようなコマンドを使って、サーバー管理者が起動・停止・再起動を行います。現在正しく動作しているかどうかも、専用のコマンドで確認でき、Webサイトが表示されないトラブルが起きた際は、まずhttpdの稼働状況を確認するのが基本の手順です。
httpdの設定ファイルとログ
httpdの動作内容は、「httpd.conf」という設定ファイルで細かく指定できます。また、アクセスのあった記録を残す「アクセスログ」と、エラー発生時の記録を残す「エラーログ」が自動的に作成され、サイトの利用状況の把握やトラブルの原因調査に役立てられています。
httpdの命名規則
末尾に付く「d」は「デーモン(daemon)」の頭文字で、UNIX系OSで裏方として動き続けるプログラムに共通する命名習慣です。同じ考え方で、SSH接続を処理する「sshd」など、ほかにも「〇〇d」という名前のプログラムが数多く存在しています。
Nginxとの違い
近年よく使われるWebサーバーソフトウェアのNginxは、httpdとは異なる仕組みで動作しており、実行プログラムの名前も「nginx」であり「httpd」とは呼ばれません。多数のアクセスを少ない負荷でさばける設計になっており、大規模なサイトを中心に採用が広がっています。
まとめ
httpdは、Webサーバーソフトウェアが実際にサーバー上で動作している姿そのものを指す言葉です。普段は意識することの少ない存在ですが、私たちが毎日目にしているWebページは、このhttpdが休みなく働き続けてくれているおかげで届いています。



コメント