digital-garden/dev/architecture/Fingerprint.md
Struchkov Mark 4a1d913afa
All checks were successful
continuous-integration/drone/push Build is passing
Добавлены новые статьи:
- Реализация Base64 на Java.md
- Реализация SHA-256 на Java.md
- Base64.md
- Кодирование данных.md
- Сжатие данных.md
- Криптографическая хеш-функция.md
- Кодирование данных.md
и прочие
2024-09-14 22:02:28 +03:00

28 lines
2.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
tags:
- maturity/🌱
date: 2024-09-10
zero-link:
- "[[../../meta/zero/00 Архитектура ИС|00 Архитектура ИС]]"
parents:
- "[[highload/Инвалидация кэша|Инвалидация кэша]]"
linked:
- "[[../garden/ru/dev/architecture/highload/Кэширование на стороне браузера|Кэширование на стороне браузера]]"
---
При реализации [[highload/Кэширование на стороне браузера|кэширования на стороне браузера]] важно иметь механизм [[highload/Инвалидация кэша|инвалидации кэша]]. Иначе пользователи могут продолжить видеть неактуальные JS-скрипты и CSS-стили, что приведет к проблемам.
Самый простой способ побороть эту проблему, это использовать fingerprint файла. То есть, когда файл меняется, вы меняете его название. Делается это обычно добавлением какого-нибудь префикса/суфикса к названию файла.
Например у нас есть файл стилей `style.css`, мы можем посчитать для него [[../cryptography/MD5|MD5]] хеш и добавить его в название. Тогда у нас получится следующее название: `style.e626dd36e0085927f334adbe3eb38e7a.css`.
При любом изменении файла [[../cryptography/MD5|MD5]] хеш должен пересчитываться. Таким образом при изменении файла у него будет другое название, и браузер будет вынужден скачать его в любом случае.
***
## Мета информация
**Область**:: [[../../meta/zero/00 Архитектура ИС|00 Архитектура ИС]]
**Родитель**:: [[highload/Кэширование на стороне браузера|Кэширование на стороне браузера]]
**Источник**:: [[highload/Инвалидация кэша|Инвалидация кэша]]
**Создана**:: [[2024-09-10]]
**Автор**::
### Дополнительные материалы
-