Принятый ответ Farseeker не работает. Я протестировал это в IIS 7.0.6000.16386 на SP 2 Стандарта Windows Server 2008.
См. комментарий Jeff Atwood по поводу Переполнения стека для того же вопроса.
Завершающие теги в порядке, пока Вы не служите содержанию с нескольких серверов. Если Вы только служите с одного сервера, то оставляете их там. Они не причиняют боль. И если Вы не хотите, чтобы YSlow жаловался на них, затем нажмите кнопку Edit около элемента выбора Rulesets и отредактируйте YSlow (V2) профиль. Просто снимите флажок с опцией "Configure entity tags (Etags)".
YSlow не жалуется, что они неправы (даже при том, что это - то, что он говорит), но он жалуется, что они не нужны. Единственный способ заставить YSlow замолчать об этом состоит в том, чтобы отключить их.
Хорошая вещь, я просто сделал это сам ранее сегодня!
Откройте свой менеджер IIS, нажмите на сервер и перейдите к Заголовкам Ответа HTTP. Нажмите кнопку "Add...", и под именем, войдите:
ETag
(чувствительный к регистру). Под Значением войти
""
(thats две двойных кавычки)
И Завершающие теги прочь!
См. Ответ на Задайте заголовок ответа сервера в IIS7 для частичного решения. Да, было бы неплохо получить полное решение, но я возьму все, что смогу.
В iis 6 вы можете добавить настраиваемый заголовок для 'ETag' = ""
В iis 7 добавьте правило перезаписи исходящего трафика следующим образом:
<outboundRules>
<rule name="Remove ETag">
<match serverVariable="RESPONSE_ETag" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
IIS 7 перезапишет настраиваемый заголовки и все другие решения, предложенные в различных других ответах по той же проблеме. Исходящие правила - единственный элемент, который, кажется, работает, поскольку он перезаписывает все, что было установлено непосредственно перед тем, как оно было возвращено пользователю. Предлагаемое исходящее правило соответствует любой серверной переменной с именем RESPONSE_ETag
, если значение RESPONSE_ETag
содержит один или несколько символов и заменяет значение пустой строкой.
Лучше использовать это:
<outboundRules>
<rule name="Remove ETag">
<match serverVariable="RESPONSE_ETag" pattern="(.*)\:(.*)" />
<action type="Rewrite" value="{R:1}" />
</rule>
</outboundRules>