HTTP-Request
Ein HTTP-Request (zu deutsch “Anfrage”) wird von einem Client (in unserem Falle das WMS) an einen benannten Host (die Anwendung auf einem Server, welche die API bereitstellt) gesendet.
Um einen HTTP-Request abzusenden wird als Adresse eine URL (Uniform Resource Locator) verwendet, welche alle Informationen enthalten muss, um die API exakt zu adressieren. Wie die Bezeichnung “Uniform Resource Locator” bereits ausdrückt, wird mit der URL eine Resource eine “Quelle” adressiert, von der Daten abgerufen bzw. an die Daten gesendet werden können.
Eine URL besteht normalerweise aus folgenden Komponenten (erklärt an der API von Microsoft Graph):
Beispiel-URL: https://graph.microsoft.com/v1.0/me/joinedTeams?query
Schema
Gibt das verwendete Protokoll an, mit dem der Request gesendet wird. Dies ist entweder http oder https.
Host
Der Host-Name identifiziert den Host, welcher die API bereitstellt. Der Host-Name kann eine IP-Adresse und einen Port enthalten.
Im Beispiel entspricht der Hostname graph.microsoft.com
Pfad
Der Pfad gibt die Resource an, welche adressiert werden soll, im Beispiel /v1.0/me/joinedTeams.
Oftmals gibt es einen Basis-Pfad, welcher bei unterschiedlichen Requests immer gleich bleibt. Im Beispiel wäre dies die Versionsnummer der API /v1.0.
Query
Beim Absetzen eines Requests kommt es häufig vor, dass zusätzliche Parameter (z.B. Filter) mitgegeben werden müssen. Die Query besteht aus ein oder mehreren Namen/Werte-Paaren, welche mit einem “&” separiert werden, und wird am Ende des Pfades mit einem “?” angehängt (z.B. ?user=Mustermann&zipcode=83022).
Um mit dem Host zu kommunizieren, müssen dem HTTP-Request noch weitere Informationen mitgegeben werden.
Mit der Methode wird angegeben, was mit den Daten gemacht werden soll. Am gebräuchlichsten ist die Methode GET, mit der Daten von einer API abgerufen werden können. Darüber hinaus gibt es noch die Methoden PATCH, POST, PUT, DELETE und weitere, mit denen Daten geändert bzw. gelöscht werden können.
Die Header werden als Liste von Namen/Werte-Paaren mitgegeben. Im Header werden Informationen über den Sender und die Kommunikation mitgegeben, z.B. auch die Formatierung der im Content übergebenen Daten. Welche Header benötigt werden, wird sollte in der API beschrieben sein.
Im Content (auch als Body bezeichnet) werden dem HTTP-Request zusätzliche Daten mitgegeben. Dies ist üblicherweise bei Hinzufügen oder Ändern von Daten der Fall (also bei den Methoden PATCH, POST, PUT). Der Content kann Textform (z.B. im Json- oder XML-Format) oder als Name/Wert-Paare (form-urlencoded) übergeben werden. Daten werden dann bevorzugt im Content übermittelt, wenn sie sehr umfangreich sind oder nicht in der URL ersichtlich sein sollen.