Méthode de requête HEAD
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis 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
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 exemplehttp://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 pairesclé=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 :
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 à :
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/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
Chargement…