- cURL / curl
- Quelloffenes Kommandozeilentool und libcurl-Bibliothek, zum Senden von Anfragen für Protokolle wie HTTP/HTTPS/FTP über die Kommandozeile per URL, ist das am häufigsten verwendete Tool von Entwicklern zum Debuggen von APIs.
- HTTP-Methode
- HTTP-Anfrageaktion, gängige sind GET (Lesen), POST (Erstellen), PUT (vollständige Aktualisierung), PATCH (teilweise Aktualisierung), DELETE (Löschen), HEAD (Header abrufen), OPTIONS (Serverfähigkeiten abfragen).
- Header
- Metadaten-Schlüssel-Wert-Paare in der HTTP-Anfrage, wie Content-Type, Authorization, User-Agent, Cookie, Accept, etc., spezifiziert in curl über -H/--header.
- Body
- Datenteil der HTTP-Anfrage, häufig bei POST/PUT/PATCH, spezifiziert in curl über -d/--data/--data-binary/-F, gängige Formate sind JSON, form-urlencoded, multipart/form-data.
- Content-Type
- Anfrage-/Antwort-Header, der den Medientyp des Bodys angibt. application/json bedeutet JSON, application/x-www-form-urlencoded bedeutet URL-kodiertes Formular, multipart/form-data bedeutet Datei-Upload-Formular.
- Basic Auth
- HTTP-Basisauthentifizierung, überträgt Benutzername und Passwort über den Header Authorization: Basic base64(user:pass), spezifiziert in curl mit -u user:pass.
- Bearer Token
- Token-basierte Authentifizierungsmethode, übertragen über den Header Authorization: Bearer <token>, häufig bei JWT/OAuth2.
- User-Agent
- Anfrage-Header, der den Client-Typ identifiziert (Browser/Crawler/Skript), curl sendet standardmäßig "curl/Versionsnummer", viele Websites blockieren Nicht-Browser-UAs, häufig mit -A spezifiziert.
- Cookie
- Schlüssel-Wert-Paare, die vom Server über Set-Cookie gesendet und vom Browser in nachfolgenden Anfragen über den Cookie-Header zurückgesandt werden, zur Sitzungsaufrechterhaltung. curl -b sendet Cookie, -c speichert Cookie.
- Referer
- Anfrage-Header, der die URL der Herkunftsseite der aktuellen Anfrage angibt, einige Anti-Hotlink/CSRF-Prüfungen überprüfen ihn. In curl mit -e gesetzt.
- Umleitung (3xx)
- Wenn der Server Statuscodes 301/302/303/307/308 zurückgibt, weist er den Browser an, zu einer neuen URL zu springen. curl folgt standardmäßig nicht, fügen Sie -L/--location hinzu, um zu folgen.
- --compressed
- curl-Option, fügt automatisch den Header Accept-Encoding: deflate, gzip hinzu und dekomprimiert die Antwort automatisch. Ohne diese Einstellung kann die Antwort komprimierte unlesbare Daten sein.
- -k/--insecure
- curl-Option, überspringt die HTTPS-Zertifikatsprüfung, nur für Testumgebungen mit selbstsignierten Zertifikaten, in Produktion verboten.
- fetch API
- Native JavaScript-HTTP-Anfrage-API des Browsers, gibt Promise zurück, von modernen Browsern unterstützt.
- Axios
- Beliebte Promise-basierte HTTP-Client-Bibliothek, kompatibel mit Browser und Node.js, automatische JSON-Serialisierung, Interceptoren, Timeout-Abbruch.
- OkHttp
- Java/Android HTTP-Client-Bibliothek von Square, hohe Leistung, HTTP/2-Unterstützung, Connection-Pool, transparentes GZIP.
- HttpClient (.NET)
- Empfohlener HTTP-Client für C#/.NET, System.Net.Http-Namespace, Standard-API von .NET Core/.NET 5+.
- Invoke-RestMethod
- In PowerShell 3.0+ integriertes HTTP-Anfrage-Cmdlet, analysiert JSON/XML-Antworten automatisch als PowerShell-Objekte.