JS confirm
bearbeitet von Rolf BHallo pl,
(Edit: Ich habe mit diesem Beitrag angefangen, bevor Dedlfix gepostet hat)
> ein Objekt, das mit einer Verknüpfung die Eigenschaft hat
da ist dir was beim Kopieren vom Clipboard gerutscht. Hier vollständig:
> ein Objekt, das mit einer Verknüpfung $$\circ$$ die Eigenschaft $$a \circ a = a$$ hat
Konkret erläutert die Wikipedia auch für den Objekttyp "Funktion", dass eine idempotente Funktion bezüglich der Verkettung von Funktionen die Eigenschaft $$f(f(a)) = f(a)$$ hat.
Im Falle eines Web-Requests ist $$a$$ der Systemzustand des Servers, und $$f$$ ein HTTP Request. $$f(a)$$ ist der Systemzustand nach Verarbeitung des Requests. Für einen idempotente Request bedeutet $$f(f(a)) = f(a)$$, dass der Systemzustand des Servers nach zweimaliger Abarbeitung des Requests der gleiche ist wie nach einmaliger Abarbeitung.
Und das heißt: Ich habe zuvor Blödsinn geredet und etwas gelernt. Idempotent ≠ Identisch. Idempotenz bedeutet nicht, dass die Response von $$f(a)$$ die gleiche sein muss wie die von $$f(f(a))$$, denn diese Responses werden basierend auf unterschiedlichen Systemzuständen $$a$$ und $$a'$$ erzeugt. Insofern ist auch Christian drauf reingefallen, denn danach ist sein GET, der eine Gelesen-Markierung setzt, idempotent.
Für Christian ist es wichtig, dass $$f$$ sich je nach Request-Art (Preview oder nicht) unterschiedlich verhält. Aber auch da ist er idempotent, denn zwei Preview-GETs sollten das Forum in den gleichen Zustand versetzen wie einer. Idealerweise ist dieser Preview-GET nicht nur idempotent, sondern auch identisch, d.h. $$f_p(a) = a$$ - der Zustand des Forums verändert sich nicht.
Danke für die Anregung zum Nachlesen.
Du siehst übrigens, dass Idempotenz im HTTP Protokoll durchaus einen Platz hat. De vordefinierten HTTP Methoden haben Semantik. Man darf sie nicht straflos ignorieren.
_Rolf_
--
sumpsi - posui - clusi
JS confirm
bearbeitet von Rolf BHallo pl,
> ein Objekt, das mit einer Verknüpfung die Eigenschaft hat
da ist dir was beim Kopieren vom Clipboard gerutscht. Hier vollständig:
> ein Objekt, das mit einer Verknüpfung $$\circ$$ die Eigenschaft $$a \circ a = a$$ hat
Konkret erläutert die Wikipedia auch für den Objekttyp "Funktion", dass eine idempotente Funktion bezüglich der Verkettung von Funktionen die Eigenschaft $$f(f(a)) = f(a)$$ hat.
Im Falle eines Web-Requests ist $$a$$ der Systemzustand des Servers, und $$f$$ ein HTTP Request. $$f(a)$$ ist der Systemzustand nach Verarbeitung des Requests. Für einen idempotente Request bedeutet $$f(f(a)) = f(a)$$, dass der Systemzustand des Servers nach zweimaliger Abarbeitung des Requests der gleiche ist wie nach einmaliger Abarbeitung.
Und das heißt: Ich habe zuvor Blödsinn geredet und etwas gelernt. Idempotent ≠ Identisch. Idempotenz bedeutet nicht, dass die Response von $$f(a)$$ die gleiche sein muss wie die von $$f(f(a))$$, denn diese Responses werden basierend auf unterschiedlichen Systemzuständen $$a$$ und $$a'$$ erzeugt. Insofern ist auch Christian drauf reingefallen, denn danach ist sein GET, der eine Gelesen-Markierung setzt, idempotent.
Für Christian ist es wichtig, dass $$f$$ sich je nach Request-Art (Preview oder nicht) unterschiedlich verhält. Aber auch da ist er idempotent, denn zwei Preview-GETs sollten das Forum in den gleichen Zustand versetzen wie einer. Idealerweise ist dieser Preview-GET nicht nur idempotent, sondern auch identisch, d.h. $$f_p(a) = a$$ - der Zustand des Forums verändert sich nicht.
Danke für die Anregung zum Nachlesen.
Du siehst übrigens, dass Idempotenz im HTTP Protokoll durchaus einen Platz hat. De vordefinierten HTTP Methoden haben Semantik. Man darf sie nicht straflos ignorieren.
_Rolf_
--
sumpsi - posui - clusi