Qu'est-ce que la méthode HTTP TRACE ?

Découvrez HTTP TRACE, son fonctionnement, ses avantages pour le débogage API. Apprenez à l'utiliser avec Apidog, Postman, Swagger, JMeter et à sécuriser vos API.

Louis Dupont

Louis Dupont

9 May 2025

Qu'est-ce que la méthode HTTP TRACE ?

Vous êtes-vous déjà demandé comment vos API se comportent en coulisses ? Comment savoir si elles envoient et reçoivent les bonnes données, ou si elles sont modifiées par des intermédiaires en cours de route ? C'est là que la méthode HTTP TRACE s'avère utile. La méthode HTTP TRACE est un type spécial de requête HTTP qui effectue un test de bouclage de message le long du chemin vers la ressource cible. Elle vous permet de voir le message exact qui a été reçu par le destinataire final, à l'exclusion de toute donnée sensible, telle que les cookies ou les informations d'identification.

Dans cet article de blog, je vais vous montrer comment utiliser la méthode HTTP TRACE pour déboguer vos API comme un pro. Je vais expliquer ce qu'est la méthode HTTP TRACE, comment elle fonctionne et quels sont ses avantages. Je vais également vous montrer comment utiliser Apidog.

💡
Apidog est une plateforme intégrée pour la conception, le débogage, le développement, la simulation et les tests d'API, permettant d'envoyer et d'analyser gratuitement les requêtes HTTP TRACE.
button

Qu'est-ce que la méthode HTTP TRACE ?

La méthode HTTP TRACE est l'une des méthodes HTTP standard, définie dans la spécification RFC 2616. Elle est utilisée pour effectuer un test de bouclage de message le long du chemin vers la ressource cible, fournissant un mécanisme de débogage utile. Le destinataire final de la requête doit refléter le message reçu, à l'exclusion de tout champ susceptible de contenir des données sensibles, vers le client sous forme de corps de message d'une 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.

La syntaxe de la méthode HTTP TRACE est la suivante :

TRACE /path HTTP/1.1
Host: example.com

La requête n'a pas de corps, et le chemin est l'URI de la ressource cible. La requête peut inclure un en-tête Max-Forwards, qui indique le nombre maximal d'intermédiaires pouvant transférer la requête. Si la valeur Max-Forwards est 0, la requête ne doit pas être transférée et la réponse doit être générée par le premier serveur qui la reçoit. Si la valeur Max-Forwards n'est pas spécifiée, la requête peut être transférée indéfiniment, jusqu'à ce qu'elle atteigne le serveur d'origine ou un intermédiaire qui ne prend pas en charge la méthode HTTP TRACE.

La réponse à la requête HTTP TRACE doit avoir un code d'état de 200 (OK) et un Content-Type de message/HTTP. Le corps de la réponse doit contenir le message exact qui a été reçu par le destinataire final, à l'exclusion de toute donnée sensible. La réponse peut également inclure un en-tête Via, qui indique les intermédiaires qui ont traité la requête. L'en-tête Via doit comporter une ou plusieurs entrées, chacune étant constituée du nom du protocole, de la version du protocole et de l'identifiant de l'intermédiaire. Par exemple :

HTTP/1.1 200 OK
Content-Type: message/http
Via: 1.1 proxy1.example.com, 1.1 proxy2.example.com

TRACE /path HTTP/1.1
Host: example.com

La réponse montre que la requête a été transférée par deux proxys, proxy1.example.com et proxy2.example.com, avant d'atteindre le destinataire final. Le corps de la réponse reflète la requête d'origine, y compris le chemin et l'en-tête Host.

Comment fonctionne la méthode HTTP TRACE ?

La méthode HTTP TRACE fonctionne en envoyant une requête à la ressource cible et en s'attendant à une réponse qui contient le même message de requête. Cela permet au client de voir le message exact qui a été reçu par le serveur et de vérifier s'il y a eu des modifications ou des erreurs en cours de route.

La méthode HTTP TRACE peut être utilisée pour déboguer divers aspects du comportement de l'API, tels que :

La méthode HTTP TRACE peut également être utilisée pour tester la sécurité et la conformité de l'API, telles que :

Quels sont les avantages de la méthode HTTP TRACE ?

La méthode HTTP TRACE offre plusieurs avantages aux développeurs, testeurs et consommateurs d'API, tels que :

Comment utiliser Apidog pour envoyer et analyser les requêtes HTTP TRACE ?

Apidog est une plateforme intégrée pour la conception, le débogage, le développement, la simulation et les tests d'API, qui combine Postman + Swagger + Mock + JMeter pour s'attaquer au problème de la synchronisation des données entre différents systèmes à l'aide d'un ensemble de systèmes et d'un ensemble de données. Apidog est un ensemble complet d'outils qui connecte l'ensemble du cycle de vie de l'API, aidant les équipes de R&D à mettre en œuvre les meilleures pratiques pour le développement API Design-first.

button

Apidog offre un moyen pratique et facile d'envoyer et d'analyser les requêtes HTTP TRACE, ainsi que d'autres méthodes HTTP. Pour utiliser Apidog pour envoyer et analyser les requêtes HTTP TRACE, vous devez suivre ces étapes :

apidog interface
apidog interface
apidog interface

Dans le panneau de réponse, vous pouvez voir le statut

Comment activer ou désactiver la méthode HTTP TRACE sur le serveur ?

Selon la configuration de votre serveur et votre politique de sécurité, vous souhaiterez peut-être activer ou désactiver la méthode HTTP TRACE sur votre serveur. L'activation de la méthode HTTP TRACE vous permet de déboguer plus facilement vos API, mais elle peut également exposer certaines informations qui pourraient être exploitées par des acteurs malveillants. La désactivation de la méthode HTTP TRACE empêche de telles attaques, mais elle limite également vos capacités de débogage.

Le processus d'activation ou de désactivation de la méthode HTTP TRACE varie en fonction du type et de la version de votre serveur. Voici quelques exemples de la façon de procéder pour certains serveurs courants :

TraceEnable off

Pour limiter la méthode TRACE au seul serveur local, vous pouvez ajouter la ligne suivante :

TraceEnable extended
location / {
  limit_except GET POST HEAD {
    deny all;
  }
}

Pour limiter la méthode TRACE au seul serveur local, vous pouvez ajouter le bloc suivant :

location / {
  limit_except GET POST HEAD TRACE {
    deny all;
  }
  if ($request_method = TRACE) {
    return 200;
  }
}

Conclusion

La méthode HTTP TRACE est un outil de débogage utile pour les API, qui vous permet d'effectuer un test de bouclage de message le long du chemin vers la ressource cible. Elle peut vous aider à vérifier la présence et l'identité des intermédiaires, l'intégrité et la validité des en-têtes et des corps, les performances et la latence des requêtes et des réponses, ainsi que la sécurité et la conformité de vos API.

Pour utiliser la méthode HTTP TRACE, vous devez envoyer une requête à la ressource cible et vous attendre à une réponse qui reflète le même message de requête, à l'exclusion de toute donnée sensible. Vous pouvez utiliser divers outils et frameworks pour envoyer et analyser les requêtes HTTP TRACE, tels que Apidog. Apidog offre un moyen pratique et facile d'envoyer et d'analyser les requêtes HTTP TRACE.

button

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API