Un testeur d'API en ligne qui fonctionne comme curl. Choisissez la méthode, ajoutez des en-têtes et un corps, et lisez le code de statut, le corps de la réponse et la répartition du temps, depuis six régions AWS à la fois.
C'est la commande curl que vous auriez tapée, sous forme de formulaire. Choisissez GET, POST, PUT, PATCH, DELETE, HEAD ou OPTIONS, ajoutez les en-têtes attendus par l'API, collez un corps JSON ou brut pour les méthodes qui en acceptent un, et envoyez. LoadFocus effectue la requête depuis ses propres serveurs et vous montre exactement ce qui est revenu : le code de statut, chaque en-tête de réponse, le corps, le certificat SSL et une répartition du temps passé. Rien à installer, aucune inscription.
Un terminal affiche un résultat depuis un seul endroit. Ici, une requête GET, HEAD ou OPTIONS part de six régions AWS en même temps, ce qui permet de voir si l'API répond différemment à Tokyo et en Virginie, car c'est ce que vivent réellement vos utilisateurs à Tokyo. Les requêtes qui modifient des données, c'est-à-dire POST, PUT, PATCH et DELETE, sont envoyées exactement une fois, depuis une seule région, parce qu'une requête qui crée ou supprime quelque chose ne doit pas être répétée six fois en votre nom.
La requête part vers l'adresse que vous saisissez, avec la méthode et les en-têtes que vous définissez, et le point de terminaison la traite comme réelle. C'est l'intérêt de l'outil et aussi la raison de sa prudence : une requête qui modifie des données n'est jamais relancée, et si elle expire, le résultat indique une issue inconnue plutôt que de prétendre qu'elle a échoué, car le serveur peut très bien l'avoir traitée. Les redirections sont signalées, pas suivies. Les noms d'en-tête sont validés, les en-têtes hop-by-hop sont écartés, et votre en-tête Authorization est envoyé à l'API que vous avez nommée et n'est jamais écrit dans un journal.
Une requête envoyée à la main vous dit que l'API fonctionne maintenant. La même requête, envoyée chaque minute depuis plus de 25 régions avec des vérifications du code de statut et du corps, vous prévient à l'instant où elle cesse de fonctionner, avant qu'un client ne le fasse. C'est le moniteur d'API de LoadFocus, et son offre gratuite commence exactement par la requête que vous venez d'envoyer.
Sur le même sujet : API Monitoring · API Status Checker · curl to k6 · curl to JMeter · Free API load test
Une requête renvoie plus qu'un code de statut. Voici les valeurs qui méritent d'être lues :
Comment le serveur a répondu. 2xx correspond à un succès, 3xx à une redirection (signalée, non suivie), 4xx signifie que la requête a été refusée, que la ressource est absente ou qu'une authentification est requise, 5xx que le serveur a échoué. Un 401 ou un 403 avec les bons en-têtes en place signifie généralement que la valeur de l'en-tête est fausse, pas l'outil.
Ce que l'API a renvoyé, affiché en texte et mis en forme lorsqu'il s'agit de JSON. Les corps volumineux sont coupés à 64 Ko avec une note l'indiquant, et les réponses binaires comme les images sont signalées par leur taille plutôt qu'affichées. Le corps est montré uniquement en texte, jamais rendu, de sorte qu'une page qui renvoie du HTML ne peut rien exécuter ici.
Type de contenu, cache, CORS, compteurs de limitation et identification du serveur lui-même. Quand une API se comporte mal, la réponse se trouve souvent dans un en-tête : un Content-Type erroné, un Access-Control-Allow-Origin manquant ou un X-RateLimit-Remaining à zéro.
Le temps mis par le serveur pour commencer à répondre une fois la connexion prête. Sous 800 ms est correct pour une API. Un TTFB lent avec un DNS et un TLS rapides signifie que le travail est côté serveur : une requête lente, un cache froid ou un backend surchargé.
Le coût pour atteindre le serveur avant même l'envoi de la requête. Un temps DNS élevé pointe vers le résolveur ou un serveur faisant autorité lent ; un temps TLS élevé vers la chaîne de certificats ou une négociation refaite à chaque appel au lieu d'être réutilisée.
Pour les méthodes sûres, la même requête est chronométrée depuis six régions. L'écart entre la plus rapide et la plus lente correspond à ce que voit réellement une audience mondiale, et un code de statut qui diffère selon la région signale généralement un déploiement ou un nœud CDN dont la propagation n'est pas terminée.