Die Lieferapp fragt nach
Sie öffnen die App eines Lieferdienstes. Sie zeigt sofort Ihre Bestellung und ihren Stand.
Die App hat die Daten nicht selbst. Sie fragt einen Server danach, und der Server antwortet.
Diese Frage und diese Antwort folgen festen Regeln. Wer sie kennt, findet Fehler im Web viel schneller.
Am Ende dieser Lektion
Notiz
Ich kann sagen, was eine Anfrage und was eine Antwort ist.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Anfrage | die Bitte eines Programms an einen Server; auf Englisch Request | |
| Antwort | das, was der Server zurückschickt; auf Englisch Response | |
| HTTP | die Regeln, nach denen Browser und Server miteinander sprechen | |
| API | eine Schnittstelle, über die Programme Daten von einem Dienst abrufen | |
| Methode | das Verb einer Anfrage | GET |
| Statuscode | eine Zahl, die sagt, wie die Anfrage ausgegangen ist | 404 |
| Header | eine Zusatzzeile mit Angaben zur Anfrage oder Antwort |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Anfrage hat vier Teile
Jede Anfrage hat eine Methode, eine Adresse, Header und manchmal einen Inhalt.
Die Methode sagt, was Sie wollen. GET heißt: Daten lesen. POST heißt: etwas Neues senden. PUT ändert etwas. DELETE löscht etwas.
Die Adresse nennt die URL. Der Header gibt Zusatzangaben, zum Beispiel welches Format Sie erwarten.
Eine echte Anfrage (nur zum Lesen)
GET /bestellungen/2001 HTTP/1.1
Host: api.beispiel-laden.de
Accept: application/json
Beispiel: Eine URL in Teilen
| Teil | Beispiel | Bedeutung |
|---|---|---|
| Protokoll | https:// | Verschlüsselt, über HTTP |
| Server | api.beispiel-laden.de | Der Computer, den Sie fragen |
| Pfad | /bestellungen/2001 | Was Sie haben möchten |
| Parameter | ?bezahlt=ja | Ein Filter nach dem Fragezeichen |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Antwort hat einen Statuscode
Die Antwort beginnt mit einem Statuscode. Er sagt, wie die Anfrage ausgegangen ist.
Danach folgen Header und der Inhalt. Bei einer API ist der Inhalt meist JSON, also Daten als Text.
Eine API ist keine Webseite für Menschen. Sie ist eine Tür für Programme.
Eine echte Antwort (nur zum Lesen)
HTTP/1.1 200 OK
Content-Type: application/json
{"id": 2001, "kunde": "Priya", "bezahlt": true}
Beispiel: Statuscodes lesen
| Code | Gruppe | Bedeutung |
|---|---|---|
| 200 | 2xx Erfolg | Es hat geklappt |
| 201 | 2xx Erfolg | Etwas Neues wurde angelegt |
| 301 | 3xx Weiterleitung | Die Adresse hat sich geändert |
| 404 | 4xx Fehler der Anfrage | Nichts unter dieser Adresse gefunden |
| 403 | 4xx Fehler der Anfrage | Sie dürfen das nicht |
| 500 | 5xx Fehler des Servers | Der Server ist selbst gescheitert |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Statuscodes einordnen
def art_des_codes(code):
if code >= 500:
return "Fehler beim Server"
if code >= 400:
return "Fehler bei der Anfrage"
if code >= 300:
return "Weiterleitung"
if code >= 200:
return "Erfolg"
return "Information"
for code in [200, 201, 301, 404, 500]:
print(code, art_des_codes(code))
# Ihr Auftrag: Welche Art ist 403? Ergänzen Sie 403 in der Liste
# hinter for und führen Sie den Block erneut aus.
Ein häufiger Fehler
Warnung
Viele denken, bei einem Fehler 500 habe man selbst etwas falsch gemacht. Das stimmt nicht. Die erste Ziffer verrät es: 4 heißt, die Anfrage war falsch. 5 heißt, der Server ist gescheitert.
Was ein Team erwartet
Tipp
Im Support heißt es oft, die Seite gehe nicht. Wer den Statuscode erfragt, weiß sofort, wo er suchen muss. Bei 4xx liegt es an der Anfrage, bei 5xx am Server.