Ein Online-API-Tester, der wie curl funktioniert. Methode wählen, Header und Body hinzufügen, und Statuscode, Antwort-Body und Zeitaufschlüsselung sehen, aus sechs AWS-Regionen gleichzeitig.
Das ist der curl-Befehl, den Sie eingetippt hätten, als Formular. Wählen Sie GET, POST, PUT, PATCH, DELETE, HEAD oder OPTIONS, fügen Sie die Header hinzu, die die API erwartet, fügen Sie bei Methoden mit Body einen JSON- oder Rohtext-Body ein und senden Sie ab. LoadFocus stellt die Anfrage von seinen eigenen Servern und zeigt Ihnen genau, was zurückkam: den Statuscode, jeden Antwort-Header, den Body, das SSL-Zertifikat und eine Aufschlüsselung, wo die Zeit geblieben ist. Nichts zu installieren, keine Registrierung.
Ein Terminal zeigt ein Ergebnis von einem einzigen Ort. Eine GET-, HEAD- oder OPTIONS-Anfrage wird hier gleichzeitig aus sechs AWS-Regionen gesendet, sodass Sie sehen, ob die API in Tokio anders antwortet als in Virginia, denn genau das erleben Ihre Nutzer in Tokio. Anfragen, die Daten verändern, also POST, PUT, PATCH und DELETE, werden genau einmal aus einer Region gesendet, weil eine Anfrage, die etwas anlegt oder löscht, in Ihrem Namen nicht sechsmal wiederholt werden darf.
Die Anfrage geht an die Adresse, die Sie eingeben, mit der Methode und den Headern, die Sie setzen, und der Endpunkt behandelt sie als echt. Das ist der Zweck des Tools und zugleich der Grund für seine Vorsicht: Eine Anfrage, die Daten verändert, wird nie wiederholt, und läuft sie in einen Timeout, meldet das Ergebnis einen unbekannten Ausgang, statt so zu tun, als wäre sie gescheitert, denn der Server könnte sie durchaus verarbeitet haben. Weiterleitungen werden gemeldet, nicht befolgt. Header-Namen werden geprüft, Hop-by-Hop-Header verworfen, und Ihr Authorization-Header geht an die API, die Sie genannt haben, und wird nie in ein Protokoll geschrieben.
Eine von Hand gesendete Anfrage sagt Ihnen, dass die API jetzt funktioniert. Dieselbe Anfrage, jede Minute aus 25+ Regionen gesendet, mit Prüfungen auf Statuscode und Body, sagt Ihnen in dem Moment Bescheid, in dem sie aufhört zu funktionieren, bevor ein Kunde es tut. Das ist der API-Monitor von LoadFocus, und sein kostenloser Tarif beginnt mit genau der Anfrage, die Sie gerade gesendet haben.
Verwandt: API Monitoring · API Status Checker · curl to k6 · curl to JMeter · Free API load test
Eine Anfrage liefert mehr als einen Statuscode. Diese Werte lohnen sich zu lesen:
Wie der Server geantwortet hat. 2xx ist Erfolg, 3xx eine Weiterleitung (gemeldet, nicht befolgt), 4xx heißt, die Anfrage wurde abgelehnt, das Ziel fehlt oder eine Anmeldung ist nötig, 5xx heißt, der Server ist gescheitert. Ein 401 oder 403 trotz gesetzter Header bedeutet meist, dass der Header-Wert falsch ist, nicht das Tool.
Was die API zurückgeschickt hat, als Text angezeigt und bei JSON formatiert. Große Antworten werden bei 64 KB abgeschnitten, mit einem Hinweis dazu, und binäre Antworten wie Bilder werden nach Größe gemeldet statt angezeigt. Der Body wird ausschließlich als Text gezeigt, nie gerendert, sodass eine Seite, die HTML liefert, hier nichts ausführen kann.
Content-Type, Caching, CORS, Rate-Limit-Zähler und die eigene Kennung des Servers. Wenn eine API sich seltsam verhält, steckt die Antwort oft in einem Header: ein falscher Content-Type, ein fehlendes Access-Control-Allow-Origin oder ein X-RateLimit-Remaining von null.
Wie lange der Server nach dem Verbindungsaufbau gebraucht hat, um mit der Antwort zu beginnen. Unter 800 ms ist gut für eine API. Ein langsamer TTFB bei schnellem DNS und TLS bedeutet, die Arbeit liegt auf der Serverseite: eine langsame Abfrage, ein kalter Cache oder ein überlastetes Backend.
Die Kosten, den Server zu erreichen, bevor die Anfrage überhaupt gesendet wird. Hohe DNS-Zeit deutet auf den Resolver oder einen langsamen autoritativen Server hin; hohe TLS-Zeit auf die Zertifikatskette oder einen Handshake, der bei jedem Aufruf neu verhandelt statt wiederverwendet wird.
Bei sicheren Methoden wird dieselbe Anfrage aus sechs Regionen gemessen. Der Abstand zwischen der schnellsten und der langsamsten Region ist das, was ein weltweites Publikum tatsächlich sieht, und ein Statuscode, der sich zwischen Regionen unterscheidet, bedeutet meist eine Bereitstellung oder einen CDN-Knoten, deren Ausrollen nicht abgeschlossen ist.