ETag vs хеш вебпака - PullRequest
       11

ETag vs хеш вебпака

0 голосов
/ 05 октября 2018

Мы перерабатываем весь процесс создания активов, чтобы использовать 100% веб-пакет.В ходе этого я хотел бы использовать его хэш-функцию (например, [name]. [Chunkhash] .js) для улучшения кэширования.

Но мои коллеги по бэкэнду говорят, что нет необходимости, и мы должны использовать ETags вместокеширование.Так что в именах файлов вообще нет хэша.

Мне нравится идея, но мне интересно, почему пакет предоставляет такую ​​функцию хэша, если вместо нее можно использовать ETags.

Кто-нибудь имеет опыт работы с ETag и знает плюсы / минусы?(кстати, мы используем пользовательский бэкэнд PHP)

1 Ответ

0 голосов
/ 05 октября 2018

Ваши два предложенных решения совершенно разные.

Используя уникальное имя файла, вы можете установить ресурс, который никогда не истечет.Это будет кешироваться навсегда.Еще важнее то, что ваш код не сломается, поскольку ваш HTML-код указывает только на конкретный версионный актив, на который он опирается.

ETag, напротив, используются для условной повторной проверки.Они используются, когда ресурс превысил время кэширования, и браузер хочет проверить, действительна ли текущая версия.Таким образом, время кэширования будет конечным, и браузер будет вынужден часто регистрироваться на сервере.Что еще более важно, ваш сайт может сломаться, если вы обслуживаете страницу, основанную на новой версии ресурса, в то время как старая версия ресурса все еще кэшируется.

Таким образом, использование ETags для этого означает, что у вас есть компромисс между производительностьюи правильность, и в любом случае результат будет строго хуже, чем присвоение активу уникального имени.

...