Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Méthode de requête HEAD

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨juillet 2015⁩.

La méthode HTTP HEAD demande les métadonnées d'une ressource sous la forme des en-têtes que le serveur aurait envoyés si la méthode GET avait été utilisée. Cette méthode peut être utilisée dans les cas où une URL pourrait produire un téléchargement volumineux : par exemple, une requête HEAD permet de lire l'en-tête Content-Length pour vérifier la taille du fichier avant de le télécharger avec une requête GET.

Si la réponse à une requête HEAD indique qu'une URL en cache est désormais obsolète, la copie en cache est invalidée même si aucune requête GET n'a été effectuée.

Attention : Si une réponse à une requête HEAD contient un corps, celui-ci doit être ignoré. Tout en-tête de représentation qui décrit ce corps erroné est supposé décrire le corps de la réponse qu'une requête GET aurait reçu.

La requête a un corps Non
La réponse de succès a un corps Non
Sûre Oui
Idempotente Oui
Mis en cache Oui
Autorisée dans les formulaires HTML Non

Syntaxe

http
HEAD <request-target>["?"<query>] HTTP/1.1
<request-target>

Identifie la ressource cible de la requête lorsqu'elle est combinée avec l'information fournie par l'en-tête Host. Il s'agit d'un chemin absolu (par exemple /chemin/vers/fichier.html) pour les requêtes vers un serveur d'origine et d'une URL absolue pour les requêtes vers les serveurs mandataires (proxies) (par exemple http://www.exemple.fr/chemin/vers/fichier.html).

<query> Facultatif

Un fragment de requête optionnel précédé d'un point d'interrogation ?. Utilisé généralement pour fournir de l'information sous la forme de paires clé=valeur.

Exemples

Récupération réussie des métadonnées d'une ressource

La commande curl suivante crée une requête HEAD pour exemple.fr :

bash
curl --head exemple.fr

C'est l'équivalent d'une requête GET, sauf que le serveur ne doit pas inclure de corps de message dans la réponse. Cela crée une requête HTTP qui ressemble à :

http
HEAD / HTTP/1.1
Host: exemple.fr
User-Agent: curl/8.6.0
Accept: */*

Le serveur renvoie une réponse 200 OK composée uniquement d'en-têtes. La réponse contient donc les métadonnées qui décrivent la ressource, et non la ressource elle-même (certains en-têtes de cache sont omis dans cet exemple pour plus de clarté) :

http
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Wed, 04 Sep 2024 10:33:11 GMT
Content-Length: 1234567

Spécifications

Specification
HTTP Semantics
# HEAD

Compatibilité des navigateurs

Voir aussi