HTTP-Methoden
HTTP-Methoden im Überblick: GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, CONNECT, TRACE und WebDAV, mit sicher, idempotent und cachebar nach RFC 9110, Beispielen und CORS-Preflight-Prüfung.
| Methode | Sicher | Idempotent | Cachebar | Body in der Anfrage | Standard |
|---|---|---|---|---|---|
GET | Ja | Ja | Ja | ohne definierte Bedeutung | RFC 9110 |
HEAD | Ja | Ja | Ja | ohne definierte Bedeutung | RFC 9110 |
POST | Nein | Nein | nur mit Frische-Angabe und Content-Location | Ja | RFC 9110 |
PUT | Nein | Ja | Nein | Ja | RFC 9110 |
DELETE | Nein | Ja | Nein | ohne definierte Bedeutung | RFC 9110 |
CONNECT | Nein | Nein | Nein | ohne definierte Bedeutung | RFC 9110 |
OPTIONS | Ja | Ja | Nein | möglich, ohne definierte Bedeutung | RFC 9110 |
TRACE | Ja | Ja | Nein | Nein (verboten) | RFC 9110 |
PATCH | Nein | Nein | nur mit Frische-Angabe und Content-Location | Ja | RFC 5789 |
CORS: Wird ein OPTIONS-Preflight gesendet?
Methoden aus RFC 9110
GETGET /api/kunden/42 HTTP/1.1 Host: example.com Accept: application/json
HEADHEAD /download/handbuch.pdf HTTP/1.1 Host: example.com
POSTPOST /api/kunden HTTP/1.1
Host: example.com
Content-Type: application/json
{"name": "Erika Mustermann"}PUTPUT /api/kunden/42 HTTP/1.1
Host: example.com
Content-Type: application/json
{"name": "Erika Mustermann", "ort": "Köln"}DELETEDELETE /api/kunden/42 HTTP/1.1 Host: example.com
OPTIONSOPTIONS /api/kunden/42 HTTP/1.1 Host: api.example.com Origin: https://www.example.com Access-Control-Request-Method: PUT Access-Control-Request-Headers: content-type
CONNECTCONNECT www.example.com:443 HTTP/1.1 Host: www.example.com:443
TRACETRACE / HTTP/1.1 Host: example.com Max-Forwards: 2
PATCH
PATCHPATCH /api/kunden/42 HTTP/1.1
Host: example.com
Content-Type: application/merge-patch+json
If-Match: "a1b2c3"
{"ort": "Bonn"}WebDAV (RFC 4918)
PROPFINDPROPFIND /dateien/ HTTP/1.1 Host: dav.example.com Depth: 1
PROPPATCHPROPPATCH /dateien/bericht.odt HTTP/1.1 Host: dav.example.com Content-Type: application/xml
MKCOLMKCOL /dateien/neu/ HTTP/1.1 Host: dav.example.com
COPYCOPY /dateien/a.txt HTTP/1.1 Host: dav.example.com Destination: https://dav.example.com/dateien/b.txt
MOVEMOVE /dateien/a.txt HTTP/1.1 Host: dav.example.com Destination: https://dav.example.com/archiv/a.txt
LOCKLOCK /dateien/bericht.odt HTTP/1.1 Host: dav.example.com Timeout: Second-3600
UNLOCKUNLOCK /dateien/bericht.odt HTTP/1.1 Host: dav.example.com Lock-Token: <urn:uuid:…>
Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
GET und POST, PUT vs PATCH: die Unterschiede
HTTP-Methoden (auch HTTP Request Methoden oder Verben) sagen dem Server, was mit einer Ressource geschehen soll. Die Tabelle fasst die Eigenschaften nach RFC 9110 zusammen: Sicher heißt, die Methode ist nur lesend gedacht. Idempotent heißt, mehrfaches Senden derselben Anfrage hat dieselbe Wirkung wie einmaliges, deshalb dürfen Clients und Proxys sie nach einem Verbindungsabbruch wiederholen. Cachebar heißt, Antworten dürfen zwischengespeichert werden. Jede Methode steht unten mit einer Beispielanfrage zum Kopieren.
Der Klassiker GET und POST: GET liest Daten und überträgt Parameter in der URL, POST schickt Daten im Body zur Verarbeitung. GET-Anfragen tauchen in Logs, Verläufen und Lesezeichen auf, für Passwörter oder personenbezogene Daten ist POST daher die richtige Wahl. Bei PUT vs PATCH geht es um vollständiges oder teilweises Ändern: PUT ersetzt die ganze Ressource und ist idempotent, PATCH ändert nur die übermittelten Felder und ist es nicht zwingend.
Der Rechner für den OPTIONS Preflight zeigt, ob ein Browser vor einer Cross-Origin-Anfrage erst per OPTIONS um Erlaubnis fragt. Das passiert bei allen Methoden außer GET, HEAD und POST, bei Content-Types wie application/json und bei eigenen Headern wie Authorization. Die Statuscodes der Antworten finden Sie in den HTTP-Statuscodes, die Header in der HTTP-Header-Referenz. Grenzen: Ob ein Server sich an die Semantik hält, ist seine Sache; die Tabelle beschreibt den Standard.
Anleitung: HTTP-Methoden in 4 Schritten
- In der Tabelle oben ablesen, welche Methode sicher, idempotent und cachebar ist und ob sie einen Body in der Anfrage hat.
- Im CORS-Bereich Methode, Content-Type und eigene Header wählen, um zu sehen, ob der Browser einen OPTIONS-Preflight sendet.
- Im Feld „Suchen“ oder über „Gruppe“ eine Methode aus RFC 9110, PATCH oder WebDAV aufrufen.
- Die Beispielanfrage mit „Kopieren“ übernehmen und für eigene Tests anpassen.
Typische Anwendungsfälle
- REST-API entwerfen: Für jede Aktion die passende Methode wählen, etwa PUT zum Ersetzen und PATCH für Teiländerungen.
- CORS-Fehler verstehen: Prüfen, warum eine Anfrage mit application/json einen Preflight auslöst und welche Header der Server erlauben muss.
- Wiederholungen absichern: Klären, welche Anfragen ein Client nach einem Timeout gefahrlos erneut senden darf.
- WebDAV-Zugriff: Methoden wie PROPFIND für Dateiserver nachschlagen.
Häufige Fragen
Was bedeutet idempotent bei HTTP?
Eine Methode ist idempotent, wenn mehrere identische Anfragen dieselbe Wirkung auf dem Server haben wie eine einzige. Das gilt für GET, HEAD, PUT, DELETE, OPTIONS und TRACE, nicht für POST und PATCH. Idempotente Anfragen dürfen nach einem Verbindungsfehler automatisch wiederholt werden.
Was ist der Unterschied zwischen PUT und PATCH?
PUT ersetzt die Ressource vollständig durch den gesendeten Inhalt; fehlende Felder gehen verloren. PATCH sendet nur eine Änderungsbeschreibung, etwa die geänderten Felder als JSON Merge Patch. PUT ist idempotent, PATCH nicht zwingend.
Darf eine GET-Anfrage einen Body haben?
RFC 9110 verbietet ihn nicht, gibt ihm aber keine Bedeutung. Viele Server, Proxys und Bibliotheken ignorieren oder verwerfen ihn. Für Suchanfragen mit vielen Parametern nutzt man daher Query-Parameter oder POST.
Wann sendet der Browser einen OPTIONS Preflight?
Bei Cross-Origin-Anfragen per fetch oder XMLHttpRequest, die keine einfachen Anfragen sind: andere Methoden als GET, HEAD und POST, andere Content-Types als application/x-www-form-urlencoded, multipart/form-data und text/plain oder eigene Header wie Authorization. Der Server muss mit passenden Access-Control-Allow-Headern antworten.
Welche HTTP-Methoden sind sicher?
GET, HEAD, OPTIONS und TRACE gelten nach RFC 9110 als sicher, weil sie nur lesen sollen. Sicher heißt nicht ungefährlich: Ein Server kann auch bei GET Daten ändern, verstößt dann aber gegen die vorgesehene Bedeutung.
Wann verwende ich POST und wann PUT?
POST, wenn der Server die neue Ressource anlegt und ihre URL bestimmt, etwa POST /api/kunden. PUT, wenn der Client die URL kennt und die Ressource dort vollständig ersetzt oder anlegt; PUT ist idempotent, POST nicht.
Welcher Statuscode passt zu einer erfolgreichen DELETE-Anfrage?
Meist 204 No Content, wenn keine Antwort folgt, oder 200 mit einer Statusmeldung. 202 Accepted bedeutet, dass das Löschen angenommen, aber noch nicht ausgeführt wurde.
Das könnte auch helfen
HTTP-Statuscodes
Alle gängigen HTTP-Statuscodes von 100 bis 511 mit Bedeutung, typischer Ursache und Suche.
ÖffnenHTTP-Header-Referenz
Wichtige Anfrage- und Antwort-Header mit Bedeutung und Beispiel, durchsuchbar.
ÖffnenMIME-Typen
Über 150 MIME-Typen nachschlagen: Dateiendung zu Content-Type und umgekehrt.
ÖffnenGit-Befehle
Git-Spickzettel: die wichtigsten Befehle nach Aufgaben gruppiert, durchsuchbar und kopierbar.
ÖffnenBash-Befehle
Bash- und Linux-Befehle für Dateien, Text, Prozesse und Netzwerk, mit Suche und Kopieren.
ÖffnenPort-Liste
Bekannte TCP- und UDP-Ports von 20 bis 51820 mit Dienst und Hinweis, durchsuchbar.
Öffnen