Lies eine echte Anfrage und eine echte Antwort und lerne, was 200, 404 und 500 wirklich bedeuten.
Diese Lektion in Kodokon öffnenHTTP (HyperText Transfer Protocol) ist die Sprache, die Browser und Server miteinander sprechen. Gute Nachricht: Das ist kein unverständliches Binärformat, sondern lesbarer Text. Eine Anfrage passt in ein paar Zeilen: ein Verb, eine Adresse und dann Header (Kopfzeilen), die den Zusammenhang ergänzen (welche Sprache ich bevorzuge, welchen Browser ich benutze). Die Antwort hat denselben Aufbau: ein Zahlencode, Header, eine Leerzeile und dann der Inhalt.
curl -i https://example.com
HTTP/2 200
content-type: text/html; charset=UTF-8
content-length: 1256
cache-control: max-age=86400
<!doctype html>
<html>
...Das Verb am Anfang einer Anfrage nennt man Methode, und es kündigt deine Absicht an. GET fordert einfach an, eine Ressource zu lesen: Genau das macht der Browser jedes Mal, wenn du eine Seite öffnest. POST schickt Daten an den Server, typischerweise wenn du ein Anmeldeformular abschickst. PUT aktualisiert einen vorhandenen Eintrag, und DELETE verlangt, dass er gelöscht wird. Konzentriere dich auf die ersten beiden: Sie machen die überwältigende Mehrheit des gesamten Verkehrs aus.
curl -X POST -d "name=Sarah&age=30" https://httpbin.org/postJede Antwort beginnt mit einem dreistelligen Statuscode. Schon die erste Ziffer verrät dir die Lage. Codes im Bereich 2xx bedeuten Erfolg: 200 heißt "hier ist, worum du gebeten hast". Die 3xx-Codes sind Weiterleitungen: 301 heißt "diese Seite ist umgezogen, geh stattdessen dorthin". Die 4xx-Codes weisen auf einen Fehler auf der Client-Seite hin: 404 (Ressource nicht gefunden), 403 (Zugriff verboten), 401 (du musst dich anmelden). Die 5xx-Codes weisen auf eine Panne auf der Server-Seite hin: 500 ist der klassische interne Fehler.
curl -I https://example.com/this-page-does-not-exist
HTTP/2 404
content-type: text/html; charset=UTF-8