Я знаю, что этот вопрос задавался много раз, однако большинство из них были в 2009-2010 гг.
Я уверен, что некоторое время назад проект, над которым я работал, удалил их, однако в настоящий момент я не могу найти способ удалить их.
Так были ли какие-либо достижения в этой области? Кажется сумасшедшим, что Microsoft сделала IIS неспособной легко настроить эти заголовки.
В настоящее время пробовал:
- Добавление пустого заголовка etag в web.config
- Добавление etag с кавычками внутри в web.config
- Добавление пустого заголовка etag напрямую через IIS
- Добавление пользовательского модуля, который удаляет etag на BeginResponse
- То же, что и выше, но для EndResponse
- То же, что и выше, но вместо удаления etag сделайте его пустым
Я слышал, что есть фильтр ISAPI, который вы можете удалить, но я нигде не могу его найти, и у меня нет опыта в его написании с нуля, но, возможно, в итоге это будет единственный способ сделать это.
Просто есть какая-то причина, почему я хочу удалить Etags для всего. Я позволил клиентам кэшировать все (срок действия и последнее изменение), поэтому, как только мои статические файлы получены с сервера, ему больше не нужно запрашивать сервер, пока не истечет срок его действия. Как будто вы используете Etags, вам все равно нужно сделать запрос к серверу для каждого файла, чтобы выяснить, совпадает ли тег до сих пор. Таким образом, используя клиентский кеш, вы делаете запросы только на тот контент, который вам нужен.
У меня также есть система управления версиями, поэтому, когда происходит изменение, статический контент ссылается как my.js? 12345 , а не my.js? 12344 . Как бы то ни было, сейчас я считаю, что удаление Etags значительно улучшит одно из узких мест в моем текущем проекте.