5. Evaluation (Bewertung)
Außer wenn unten ausgeschlossen, MUSS ein Empfänger-Cache oder Ursprungsserver die empfangenen Anfragevorbedingungen bewerten, nachdem er seine normalen Anfrageprüfungen erfolgreich durchgeführt hat und kurz bevor er den Anfrageinhalt (falls vorhanden) verarbeitet oder die mit der Anfragemethode verbundene Aktion ausführt. Ein Server MUSS alle empfangenen Vorbedingungen ignorieren, wenn seine Antwort auf dieselbe Anfrage ohne diese Bedingungen ein anderer Statuscode als 2xx (Successful) oder 412 (Precondition Failed) gewesen wäre. Mit anderen Worten, Weiterleitungen und Fehler haben Vorrang vor der Bewertung von Vorbedingungen in bedingten Anfragen.
Ein Server, der nicht der Ursprungsserver für die Zielressource ist und nicht als Cache für Anfragen an die Zielressource fungieren kann, DARF NICHT die von dieser Spezifikation definierten bedingten Anfrage-Header-Felder bewerten, und er MUSS sie weiterleiten, wenn die Anfrage weitergeleitet wird, da der generierende Client beabsichtigt, dass sie von einem Server bewertet werden, der eine aktuelle Darstellung bereitstellen kann. Ebenso MUSS ein Server die von dieser Spezifikation definierten bedingten Anfrage-Header-Felder ignorieren, wenn sie mit einer Anfragemethode empfangen werden, die nicht die Auswahl oder Änderung einer ausgewählten Darstellung beinhaltet, wie z.B. CONNECT, OPTIONS oder TRACE.
Beachten Sie, dass Protokollerweiterungen die Bedingungen, unter denen Vorbedingungen bewertet werden, oder die Konsequenzen ihrer Bewertung ändern können. Beispielsweise ändert die "immutable" Cache-Control-Direktive (definiert durch [RFC8246]) die Vorab-Bewertungsprüfungen so, dass eine 304 (Not Modified) Antwort ohne Revalidierung zurückgegeben werden kann.
Obwohl bedingte Anfrage-Header-Felder als mit der HEAD-Methode verwendbar definiert sind (um die Semantik von HEAD mit der von GET konsistent zu halten), ist es sinnlos, einen bedingten HEAD zu senden, da eine erfolgreiche Antwort ungefähr die gleiche Größe wie eine 304 (Not Modified) Antwort hat und nützlicher als eine 412 (Precondition Failed) Antwort ist.