Antworten:
Die akzeptierte Antwort von Farseeker funktioniert nicht. Ich habe dies in IIS 7.0.6000.16386 unter Windows Server 2008 Standard SP 2 getestet.
Zur gleichen Frage siehe Jeff Atwoods Kommentar zu Stack Overflow .
Etags sind in Ordnung, solange Sie keine Inhalte von mehreren Servern bereitstellen. Wenn Sie nur von einem Server aus bedienen, lassen Sie diese dort. Sie tun nicht weh. Wenn Sie nicht möchten, dass sich YSlow darüber beschwert, klicken Sie auf die Schaltfläche Bearbeiten neben dem Element Regelsätze und bearbeiten Sie das YSlow (V2) -Profil. Deaktivieren Sie einfach die Option "Entity-Tags (Etags) konfigurieren".
YSlow beschwert sich nicht darüber, dass sie falsch liegen (auch wenn es so steht), sondern darüber, dass sie nicht gebraucht werden. Die einzige Möglichkeit, YSlow dazu zu bringen, den Mund zu halten, besteht darin, sie zu deaktivieren.
Das Gute ist, ich habe das heute gerade selbst gemacht!
Öffnen Sie Ihren IIS-Manager, klicken Sie auf den Server und wechseln Sie zu HTTP Response Headers. Klicken Sie auf die Schaltfläche "Hinzufügen ..." und geben Sie unter Name Folgendes ein:
ETag
(Groß- und Kleinschreibung beachten). Geben Sie unter Wert ein
""
(das sind zwei doppelte Anführungszeichen)
Und eTags beginnen!
Siehe eine ähnliche StackOverflow- Frage.
In iis 6 können Sie einen benutzerdefinierten Header für 'ETag' = "" hinzufügen.
Fügen Sie in iis 7 eine ausgehende Umschreiberegel wie folgt hinzu:
<outboundRules>
<rule name="Remove ETag">
<match serverVariable="RESPONSE_ETag" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
IIS 7 überschreibt benutzerdefinierte Header und alle anderen Lösungen, die in verschiedenen anderen Antworten zum selben Problem vorgeschlagen wurden. Ausgehende Regeln sind das einzige Element, das zu funktionieren scheint, da es alle Einstellungen überschreibt, die unmittelbar vor der Rückgabe an den Benutzer festgelegt wurden. Diese vorgeschlagene ausgehende Regel entspricht einer beliebigen Servervariable mit dem Namen RESPONSE_ETag
, solange der Wert von RESPONSE_ETag
mindestens ein Zeichen enthält, und schreibt den Wert so, dass er eine leere Zeichenfolge ist.
Eine Teillösung finden Sie in der Antwort zum Festlegen des Serverantwortheaders in IIS7 . Ja, eine Komplettlösung wäre wirklich nett, aber ich nehme, was ich bekommen kann.
Nutze dies besser:
<outboundRules>
<rule name="Remove ETag">
<match serverVariable="RESPONSE_ETag" pattern="(.*)\:(.*)" />
<action type="Rewrite" value="{R:1}" />
</rule>
</outboundRules>