IBM TRIRIGA Application Platform Version 3.5.1

ETags

Ein ETag (Entitäts-Tag) ist ein HTTP-Header, mit dem überprüft wird, ob der Client (z. B. ein mobiles Gerät) die aktuellste Version eines Datensatzes enthält. Wenn eine GET-Anforderung abgesetzt wird, wird das ETag als Antwortheader zurückgegeben. Mit dem ETag kann der Client auch bedingte Anforderungen absetzen.

OSLC unterstützt nicht nur die grundlegenden Aktualisierungsmethoden HTTP PUT und HTTP PATCH, sondern auch bedingte Aktualisierungen. Bei Bedingten Aktualisierungen werden HTTP-Entitäts-Tags und If-Match-Header verwendet, um zu überprüfen, ob Clients über die aktuellste Entität für eine Ressource verfügen. Mithilfe dieses Prozesses können fehlerhafte Aktualisierungen und Konkurrenzsituationen festgestellt werden. Wenn zwei Clients beispielsweise dieselbe Ressource laden, sendet OSLC den ETag-Header mit der Antwort.

Der ETag-Wert gibt Datum und Uhrzeit der letzten Aktualisierung der Ressource an. Der Client speichert den ETag-Headerwert und sendet ihn als Teil des HTTP-Headers If-Match für eine künftige Aktualisierungsanforderung. Der Server wertet den If-Match-Header aus und ermittelt, ob der Client über eine alte Version oder die neueste Version der Ressource verfügt. Stellt der Server fest, dass die Clientversion alt ist, sendet er eine Antwort HTTP 412 Precondition failed. Der Client ruft die Ressource erneut ab und übergibt eine auf dem aktualisierten ETag basierende Anforderung. Stellt der Server dagegen fest, dass die Clientversion die aktuellste Version ist, wird die Aktualisierung implementiert, sofern keine Einschränkungen durch die Geschäftsvalidierung oder die Datenbank gefunden werden.

Der Client kann die Anforderung auch ohne den If-Match-Header oder mit einem If-Match-Headerwert in Form eines Sterns (*) übergeben. Eine solche Anforderung entspricht semantisch einer Aktualisierungsanforderung ohne If-Match-Header. In beiden Fällen ist die Aktualisierung bedingungsfrei. Wenn die im URI referenzierte Ressource existiert und keine Einschränkungen durch die geschäftliche Validierung oder die Datenbank gefunden werden, wird die Aktualisierung implementiert.



Feedback