Qu'est-ce qu'un client HTTP ?

Un client HTTP envoie des requêtes à un serveur web ou à une API et affiche la réponse reçue. Les développeurs l'utilisent pour tester un endpoint avant d'écrire du code pour l'utiliser, vérifier qu'une API renvoie le bon statut et les bonnes données, reproduire un bug ou voir quels en-têtes un serveur envoie. Les applications de bureau telles que Postman, Insomnia et Yaak, ainsi que l'outil en ligne de commande curl, sont les exemples les plus connus.

Description de l'outil

Cet outil est un client HTTP léger qui s'exécute dans votre navigateur, sans rien à installer. Choisissez une méthode, saisissez une URL, ajoutez des paramètres de requête, des en-têtes, un corps et des identifiants, puis cliquez sur Envoyer. La réponse affiche son code d'état, sa durée, sa taille, ses en-têtes et son corps, avec un JSON formaté pour faciliter la lecture. Vous pouvez également coller une commande curl pour remplir l'intégralité de la requête, ou copier n'importe quelle requête sous forme de commande curl.

Fonctionnalités

  • Requêtes GET, POST, PUT, PATCH, DELETE, HEAD et OPTIONS
  • Paramètres de requête synchronisés avec l'URL, afin que vous puissiez modifier l'un ou l'autre
  • En-têtes personnalisés, avec un avertissement pour ceux que les navigateurs n'enverront pas
  • Corps de formulaire JSON, XML, texte brut et encodé dans l'URL, avec définition automatique de Content-Type
  • Authentification par Bearer token et authentification de base
  • Statut, durée, taille, en-têtes et corps de la réponse, avec JSON mis en forme
  • Réponses contenant des images affichées en aperçu, et possibilité de télécharger toute réponse sous forme de fichier
  • Importation d'une requête en collant une commande curl, notamment avec Copier en tant que cURL depuis les outils de développement du navigateur
  • Exportation de la requête actuelle sous forme de commande curl

Fonctionnement

L'outil envoie votre requête avec la propre API fetch du navigateur, directement depuis votre appareil vers le serveur, de sorte que rien ne transite par nos serveurs. Les règles de sécurité du navigateur s'appliquent toutefois. Une requête vers un autre site web n'obtient une réponse lisible que lorsque ce serveur l'autorise via CORS (Cross-Origin Resource Sharing), ce que font la plupart des API publiques, mais pas beaucoup d'API privées. Le navigateur refuse également d'autoriser une page web à définir certains en-têtes, tels que Cookie, Host, Origin et User-Agent, et n'affiche que les en-têtes de réponse que le serveur choisit d'exposer. Les pages servies via https:// ne peuvent pas appeler des adresses http:// simples, à l'exception de localhost dans la plupart des navigateurs.

Conseils

  • Si une requête échoue sans réponse, ouvrez la console de développement de votre navigateur : elle indique la raison, qui est généralement l'absence de l'en-tête Access-Control-Allow-Origin sur le serveur.
  • Pour tester votre propre API, autorisez l'origine de ce site dans ses paramètres CORS, ou effectuez le test sur localhost.
  • Une requête qui nécessite des cookies ou une adresse IP accessible uniquement à un serveur doit plutôt être envoyée avec curl. Copiez-la depuis l'onglet cURL et exécutez-la dans un terminal.
  • Appuyez sur Entrée dans le champ URL pour envoyer la requête.
  • Omettez le schéma et l'outil ajoute https://, ou http:// pour localhost et 127.0.0.1.
  • Pour une clé API, ajoutez-la en tant qu'en-tête, par exemple X-Api-Key, dans l'onglet En-têtes.