Zum Inhalt springen

Idempotenz

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 08.11.2026

Idempotenz ist die Eigenschaft einer Operation, bei mehrfacher Ausführung dasselbe Ergebnis zu haben wie bei einer einfachen. Einen Lichtschalter auf aus zu stellen ist idempotent: Beim zweiten Mal bleibt das Licht einfach aus.

Idempotenz

Die Eigenschaft einer Anfrage oder Funktion, durch Wiederholung keinen weiteren Effekt zu erzeugen.
Beispiel: „Dank Idempotenz entsteht keine zweite Bestellung, wenn der Kunde auf Kaufen doppelt klickt.“

Das Wort kommt aus der Mathematik, aus dem Lateinischen idem für dasselbe und potentia für Kraft oder Wirkung.

Idempotenz bei HTTP-Methoden

GET, PUT und DELETE sind nach dem Standard idempotent. Wer eine Ressource zweimal mit denselben Daten ersetzt oder zweimal löscht, hat danach denselben Zustand wie nach dem ersten Mal.

POST ist es nicht. Zweimal abgeschickt, legt es zwei Datensätze an, und genau daraus entstehen doppelte Bestellungen, doppelte Anmeldungen und doppelte Mails.

Warum Idempotenz in der Praxis zählt

Weil Netze unzuverlässig sind. Eine Anfrage kommt an, die Antwort geht unterwegs verloren, und der Aufrufer versucht es noch einmal. Auch Webhooks werden von vielen Anbietern bei ausbleibender Antwort wiederholt, und ein Ereignis kann dann doppelt eintreffen.

Ist die Verarbeitung idempotent, schadet das nicht. Ist sie es nicht, sind doppelte Buchungen nur eine Frage der Zeit.

Wie Idempotenz gelingt

Mit einer Kennung je Vorgang. Zahlungsanbieter wie Stripe erlauben einen Idempotency Key im Header: Kommt dieselbe Kennung zweimal, liefert der Server das Ergebnis des ersten Aufrufs, statt die Zahlung erneut auszulösen.

Beim Empfang von Webhooks hilft es, die Kennung jedes Ereignisses zu speichern und bereits bekannte Ereignisse zu überspringen.

Siehe auch:

HTTP-Methoden (GET, POST, PUT, DELETE)

Die Verben einer HTTP-Anfrage, die festlegen, was mit einer Ressource geschehen soll.

#Programmiersprachen

Webhook

Eine Benachrichtigung, die ein System bei einem Ereignis von sich aus an eine Adresse eines anderen Systems schickt.

#Programmiersprachen

REST-API

Eine Schnittstelle, die Daten als Ressourcen unter festen Adressen anbietet und über HTTP-Methoden bearbeiten lässt.

#Programmiersprachen

API

Eine festgelegte Schnittstelle, über die ein Programm die Funktionen eines anderen benutzt.

#Programmiersprachen #Frontend-Entwicklung (HTML, CSS, JavaScript) #Hosting & Webserver

Request

Eine Anfrage, die ein Client an einen Server schickt, etwa um eine Seite oder Daten zu holen.

#Programmiersprachen

Response

Die Antwort eines Servers auf eine Anfrage, mit Statuscode, Kopfzeilen und Inhalt.

#Programmiersprachen