Как сохранить кэш HTTP свежим

HTTP кэширование делится на два типа, но для статических ресурсов, я думаю, большинство людей открывают принудительный кэш, верно?

Но есть недостаток принудительного кэширования в том, что нет способа гарантировать свежесть (свежесть) ресурсов, вы можете только ждать истечения времени кэша, чтобы получить последнее содержимое ресурса.

Поэтому я написал библиотеку Cache-Hash, которая специально занимается взломом HTTP кэша.

Я использовал ее в своем блоге: https://blog.imlete.cn.

Принцип

Добавляя номер версии хэша к ресурсам, представленным на сайте, как только содержимое изменится, хэш изменится, так что кэш может быть разрушен путем изменения url-адреса, что гарантирует, что ресурсы, на которые ссылается сайт, являются актуальными.

Например, следующая форма

<script src="https://demo.com/js/main.js?v=5e74b42bf5"></script>
Войти в полноэкранный режим Выйти из полноэкранного режима

Использование

Вы можете использовать CLI (инструмент командной строки) или JavaScript API для генерации хэша для ссылок на статические ресурсы

может быть установлен глобально с помощью

npm install cache-hash -g

cache-hash --target source --output public

# abbreviated

cache-hash -t source -o public
Войти в полноэкранный режим Выйти из полноэкранного режима

Если вы не хотите устанавливать его глобально, вы можете использовать npx

npx cache-hash --target source --output public
Войти в полноэкранный режим Выйти из полноэкранного режима

Как это работает?

Программа читает заданную целевую директорию, определяет все html, css, js в директории, генерирует AST (Abstract Syntax Tree) для этих файлов, а затем компилирует исходный код обратно через ast syntax tree после изменения содержимого ast syntax tree.

Оцените статью
devanswers.ru
Добавить комментарий