HEAD

HTTPメソッド

HTTPメソッドHEADの仕様

HEADメソッドは、サーバーが応答でメッセージボディを送るべきではない[MUST NOT](すなわち、応答はヘッダーセクションの最後で終了する)こと以外はGETと同じである。サーバーは、ペイロードヘッダーフィールド(セクショ ン3.3)を省略してもよい[MAY]ことを除いて、リクエストがGETだった場合に送っ たのと同じヘッダーフィールドをHEADリクエストに対する応答で送るべきである [SHOULD]。この方法は、表現データを転送することなく、選択された表現に関するメタデータを取得するために使用でき、ハイパーテキストリンクの有効性、アクセシビリティ、最近の変更についてテストするためによく使用されます。

HEADリクエストメッセージ内のペイロードは、定義されたセマンティクスを持たない。

HEADリクエストでペイロードボディを送ると、いくつかの既存の実装はリクエストを拒否するかもしれない。

HEADリクエストに対する応答はキャッシュ可能である。キャッシュは、Cache-Controlヘッダーフィールド([RFC7234]のセクション5.2)で別段の指示がない限り、後続のHEADリクエストを満たすためにそれを使用してもよい[MAY]。HEAD応答は、以前にキャッシュされたGETに対する応答にも影響を与えるかもしれない; [RFC7234]のセクション4.3.5参照のこと。

HTTPメソッドHEADは、インターネット・エンジニアリング・タスク・フォース(IETF)とワールド・ワイド・ウェブ・コンソーシアム(W3C)によって、文書RFC 7231のセクション4.3.2で規定されている。

HEADメソッドの説明

HTTPメソッドHEADはHTTPプロトコルで中心的な役割を果たしており、特にリソースの実際のコンテンツや "body "をダウンロードすることなく、リソースに関する情報を得ることができます。ファイルやウェブページ全体をダウンロードすることなく、ファイルの大きさや、あるリンクがまだ使えるかどうかを知りたい場合を想像してみてください。

HEAD メソッドの主な特徴と利点:

  • 効率: HEAD を使うと、リソースそのものをダウンロードすることなく、リソースに関する情報を得ることができます。
  • リンクの検証: HEADメソッドは、しばしばリンクの妥当性をテストするために使われます。
  • ファイルのプロパティ: 例えば、ダウンロードせずにファイルのサイズや最後に変更された日時を知りたい場合、 HEADメソッドは便利です。
  • キャッシュ管理: HEADリクエストに対するレスポンスはキャッシュ可能なので、サーバーやキャッシュは、ローカルに保存されたバージョンのリソースがまだ最新かどうかを判断するために、それを使うことができます。

簡単に言うと:HEADメソッドは、リソースの「クイック・ルック」のようなものです。深入りしたり追加データをダウンロードしたりすることなく、基本的な情報を得ることができます。メタデータをチェックし、リソースがまだ利用可能であることを確認したり、完全なダウンロードを決定する前にファイルのプロパティを知るための効率的な方法です。

HTTPメソッドHEADの例

Request header:
HEAD /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Response header:
Content-Type: application/json
Content-Length: 254
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache