digital-garden/_inbox/Кэширование на стороне браузера.md

36 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

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:
- зрелость/🌱
date:
- - 2024-06-17
zero-link:
- "[[00 Разработка]]"
parents:
- "[[Кэширование]]"
linked:
- "[[Настройка клиентского кэширования в Nginx]]"
---
Кэшируются только GET запросы, так как они должны быть идемпотентны.
Заголовки для кэширования:
- ETAG. Тег, который позволяет указать версию файла. Можно использовать MD5
- If-Modified-Since. Дата изменения файла.
- Cache-Control
- public - Сохранять может не только браузер, но и промежуточные узлы
- no-store - не кэшируем
- no-cache - Сохранять только в браузере, не сохранять на промежуточных серверах.
- max-age - Сколько нужно хранить файл в памяти
- LocalStorage. Можно через JS складывать данные.
Статический контент - это содержимое сайта, которое остается неизменным продолжительное время на всех страницах. Например, это такие файлы, как картинки, CSS и JS файлы.
Так как эти файлы редко изменяются, то можно сохранять их в кэше браузера пользователя. Вместо того, чтобы обращаться к серверу каждый раз, браузер будет использовать свою локальную копию этих файлов.
- [Настройка клиентского кэширования в Nginx](Настройка%20клиентского%20кэширования%20в%20Nginx.md)
![](Pasted%20image%2020240619083856.png)
Инвалидация:
- Самый простой вариант указывать версию в GET параметрах.
- Для статики можно использовать [Fingerprint файлов](Fingerprint%20файлов.md)