Respostas:
A resposta aceita pelo Farseeker não funciona. Eu testei isso no IIS 7.0.6000.16386 no Windows Server 2008 Standard SP 2.
Veja o comentário de Jeff Atwood no Stack Overflow para a mesma pergunta .
Etags são válidas, desde que você não sirva conteúdo de vários servidores. Se você servir apenas de um servidor, deixe-os lá. Eles não machucam. E se você não quer YSlow para reclamar sobre eles, em seguida, clique no Editar botão perto dos conjuntos de regras selecionar elemento e editar o perfil YSlow (V2). Basta desmarcar a opção "Configurar tags de entidade (Etags)".
O YSlow não está reclamando que eles estão errados (mesmo que seja o que diz), mas está reclamando que eles não são necessários. A única maneira de fazer o YSlow se calar é desabilitá-los.
O bom é que eu mesmo fiz isso hoje cedo!
Abra seu gerenciador do IIS, clique no servidor e vá para HTTP Response Headers. Clique no botão "Adicionar ..." e, em nome, digite:
ETag
(maiúsculas e Minúsculas). Em Valor, insira
""
(isso é duas aspas duplas)
E ETags vão embora!
Veja uma pergunta StackOverflow semelhante .
No iis 6, você pode adicionar um cabeçalho personalizado para 'ETag' = ""
No iis 7, adicione uma regra de reescrita de saída da seguinte maneira:
<outboundRules>
<rule name="Remove ETag">
<match serverVariable="RESPONSE_ETag" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
O IIS 7 substituirá cabeçalhos personalizados e todas as outras soluções propostas em várias outras respostas relacionadas ao mesmo problema. Regras de saída são o único item que parece funcionar, pois substitui tudo o que é definido pouco antes de retornar ao usuário. Essa regra de saída proposta corresponde a qualquer variável do servidor nomeada RESPONSE_ETag
, desde que o valor de RESPONSE_ETag
tenha um ou mais caracteres e reescreva o valor como uma sequência vazia.
Consulte a resposta para Definir cabeçalho de resposta do servidor no IIS7 para obter uma solução parcial. Sim, uma solução completa seria muito boa, mas aceitarei o que conseguir.
Melhor usar isso:
<outboundRules>
<rule name="Remove ETag">
<match serverVariable="RESPONSE_ETag" pattern="(.*)\:(.*)" />
<action type="Rewrite" value="{R:1}" />
</rule>
</outboundRules>