If-Match
Erlaubt dem Server,
den Statuscode 304 Not Modified ( Nicht modifiziert ) zu senden,
falls sich seit dem angegebenen Zeitpunkt nichts verändert hat.
Macht die Anforderung bedingt.
Bei GET- und HEAD Methoden sendet der Server
die angeforderte Ressource nur dann zurück,
wenn sie mit einer der aufgeführten.
Bei PUT und anderen nicht sicheren Methoden
wird die Ressource nur in diesem Fall hochgeladen. ETags
Der Vergleich mit dem gespeicherten ETag
verwendet den starken Vergleichsalgorithmus,
bei zwei Dateien werden nur Byte zu Byte als identisch betrachtet.
Dies wird abgeschwächt, wenn das Präfix vor der .W/ETag
Es gibt zwei häufige Anwendungsfälle
Bei GET und HEAD Methoden,
die in Kombination mit einem Range-Header verwendet werden,
kann sichergestellt werden,
dass die neuen angeforderten Bereiche
aus derselben Ressource stammen wie die vorherige.
Wenn sie nicht übereinstimmt,
wird eine 416 Range Not Compisfiable ( Bereich nicht kompensierbar ) Antwort zurückgegeben.
Denn andere Methoden, insbesondere für PUT, können verwendet werden,
um das Problem der verlorenen Updates zu verhindern.
Es kann überprüft werden, ob die Änderung einer Ressource,
die der Benutzer hochladen möchte, nicht eine andere Änderung überschreibt,
die seit dem Abrufen der ursprünglichen Ressource vorgenommen wurde.
Wenn die Anforderung nicht erfüllt werden kann,
wird die Antwort 412 Vorbedingung fehlgeschlagen zurückgegeben.
ETag Wert
Tags, die die angeforderten Ressourcen eindeutig darstellen.
Sie sind eine Zeichenfolge von ASCII-Zeichen,
die zwischen doppelte Anführungszeichen Like gesetzt werden
und mit dem Präfix versehen werden können,
um anzuzeigen, dass der schwache Vergleichsalgorithmus verwendet werden soll. "675af34563dc-tr34"W/
Beispiel:
If-Match "bfc13a64729c4290ef5b2c2730249c88ca92d82d"
If-Match W/"67ab43", "54ed21", "7892dd"
If-Match *
Das * ist ein spezieller Wert, der eine beliebige Ressource darstellt.