HEADリクエスト — ボディなしのメタデータ取得

HEADリクエストを使用してボディなしでレスポンスヘッダーのみを取得する方法を解説。キャッシュ検証やリソース確認に有用です。

Safe Methods

詳細な説明

HEADの役割

HEADメソッドはGETと同一ですが、サーバーはレスポンスボディを返してはなりません。レスポンスヘッダーは同等のGETリクエストで返されるものとまったく同じです。このため、HEADはコンテンツ全体をダウンロードせずにリソースのメタデータを確認するのに最適です。

リクエスト例

HEAD /downloads/report.pdf HTTP/1.1
Host: files.example.com

レスポンス例

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 2456789
Last-Modified: Mon, 15 Jan 2026 10:30:00 GMT
ETag: "pdf-v3"

レスポンスにはContent-Length(2.4 MB)が含まれていますが、ボディは転送されず、帯域幅を完全に節約できます。

プロパティ

プロパティ
安全 はい
冪等 はい
キャッシュ可能 はい
リクエストボディ 不要

実用的な用途

  1. リソースの存在確認200は存在を意味し、404は存在しないことを意味する
  2. キャッシュの検証ETagLast-Modifiedヘッダーをキャッシュされたバージョンと比較
  3. ファイルサイズの確認 — ダウンロード前にContent-Lengthを読み取る
  4. 稼働監視 — HEADリクエストはヘルスチェックにおいてGETよりも軽量

curlでのHEAD

curl -I https://files.example.com/downloads/report.pdf

-IフラグはcurlにHEADリクエストを送信するよう指示します。

ユースケース

ダウンロードマネージャーがダウンロード前にHEADでファイルサイズを確認し、プログレスバーを表示します。監視サービスが30秒ごとにHEADリクエストを送信して、フルレスポンスボディの帯域幅を浪費せずにWebサイトがオンラインかどうかを確認します。

試してみる — HTTP Method Reference

フルツールを開く