Eine Methode ist sicher, wenn sie den Serverzustand nicht verändert: GET, HEAD und OPTIONS. Eine Methode ist idempotent, wenn dieselbe Anfrage, auch wenn sie mehrmals gestellt wird, denselben Effekt hat wie eine einmalige Anfrage: GET, HEAD, OPTIONS, PUT und DELETE. Jede sichere Methode ist idempotent; das Umgekehrte gilt nicht, da eine DELETE-Anfrage den Zustand verändert und dennoch idempotent ist.
Diese Eigenschaften ermöglichen automatische Wiederholungsversuche. Ein Proxy, ein Browser oder eine HTTP-Bibliothek kann eine idempotente Anfrage nach einem Timeout ohne Nachfrage wiederholen, da eine Wiederholung die Situation nicht verschlimmern kann. POST- und PATCH-Anfragen sind weder sicher noch idempotent. Deshalb werden sie nicht automatisch wiederholt – und deshalb existiert der Idempotency-Key-Header, um einer POST-Anfrage die von Natur aus fehlende Eigenschaft zu verleihen.
Idempotent bedeutet, "returns the same response" . Es bedeutet, dass er auf dem Server denselben Effekt hat. Ein zweiter DELETE-Befehl für dieselbe Ressource ist idempotent, obwohl der erste den Statuscode 204 und der zweite den Statuscode 404 zurückgibt: Der Endzustand – die Ressource ist gelöscht – ist identisch.
`GET /starfleet/v1/tribbles` ist ein bewusstes Anti-Pattern: ein GET-Befehl, der die Anzahl bei jedem Aufruf verdoppelt. Er ist das deutlichste Beispiel dafür, wovor "safe" Sie schützen soll.
Diese Seite auf Englisch lesen
Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs
Zuletzt aktualisiert