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)が含まれていますが、ボディは転送されず、帯域幅を完全に節約できます。
プロパティ
| プロパティ | 値 |
|---|---|
| 安全 | はい |
| 冪等 | はい |
| キャッシュ可能 | はい |
| リクエストボディ | 不要 |
実用的な用途
- リソースの存在確認 —
200は存在を意味し、404は存在しないことを意味する - キャッシュの検証 —
ETagやLast-Modifiedヘッダーをキャッシュされたバージョンと比較 - ファイルサイズの確認 — ダウンロード前に
Content-Lengthを読み取る - 稼働監視 — HEADリクエストはヘルスチェックにおいてGETよりも軽量
curlでのHEAD
curl -I https://files.example.com/downloads/report.pdf
-IフラグはcurlにHEADリクエストを送信するよう指示します。
ユースケース
ダウンロードマネージャーがダウンロード前にHEADでファイルサイズを確認し、プログレスバーを表示します。監視サービスが30秒ごとにHEADリクエストを送信して、フルレスポンスボディの帯域幅を浪費せずにWebサイトがオンラインかどうかを確認します。