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 TRACE

La méthode HTTP TRACE effectue un test de boucle de message le long du chemin vers la ressource cible.

Le destinataire final de la requête doit renvoyer le message tel qu'il a été reçu (en excluant tout champ susceptible de contenir des données sensibles) au client, comme corps de la réponse 200 OK avec un Content-Type de message/http. Le destinataire final est soit le serveur d'origine, soit le premier serveur à recevoir une valeur Max-Forwards de 0 dans la requête.

Le client ne doit pas envoyer de contenu dans la requête, ni générer d'en-têtes susceptibles de contenir des données sensibles comme des identifiants utilisateur·ice ou des cookies. Tous les serveurs n'implémentent pas la méthode TRACE, et certain·e·s propriétaires de serveurs ont historiquement interdit l'utilisation de la méthode TRACE en raison de préoccupations de sécurité. Dans de tels cas, une réponse d'erreur client 405 Method Not Allowed client error response sera envoyée.

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

Syntaxe

http
TRACE <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 dans l'en-tête Host. Il s'agit d'un chemin absolu (par exemple /chemin/vers/fichier.html) dans les requêtes vers un serveur d'origine, et d'une URL absolue dans 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 ?. Souvent utilisé pour transmettre des informations sous la forme de paires clé=valeur.

Exemples

Requête TRACE réussie

Une requête TRACE peut être effectuée avec curl :

bash
curl -v -X TRACE exemple.fr

Cela produit la requête HTTP suivante :

http
TRACE / HTTP/1.1
Host: exemple.fr
User-Agent: curl/8.7.1
Accept: */*

Une réponse 200 OK contenant les en-têtes de la requête dans le corps de la réponse est renvoyée au client :

http
HTTP/1.1 200 OK
Content-Length: 123
Date: Wed, 04 Sep 2024 11:50:24 GMT
Server: Apache/2.4.59 (Unix)
Content-Type: message/http

TRACE / HTTP/1.1
Host: exemple.fr
User-Agent: curl/8.7.1
Accept: */*

Spécifications

Specification
HTTP Semantics
# TRACE

Compatibilité des navigateurs

Le navigateur n'utilise pas la méthode TRACE pour les actions initiées par l'utilisateur·ice, donc la « compatibilité navigateur » ne s'applique pas.

Voir aussi