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

37 lines
2.3 KiB
Markdown
Raw Normal View History

2024-06-17 19:32:16 +03:00
---
aliases:
tags:
- зрелость/🌱
date:
- - 2024-06-17
zero-link:
- "[[00 Разработка]]"
parents:
- "[[Кэширование]]"
linked:
2024-07-01 12:28:50 +03:00
- "[[Кэширование статики в Nginx]]"
2024-06-17 19:32:16 +03:00
---
2024-06-17 19:37:16 +03:00
Кэшируются только GET запросы, так как они должны быть идемпотентны.
Заголовки для кэширования:
2024-06-19 08:36:52 +03:00
- ETAG. Тег, который позволяет указать версию файла. Можно использовать MD5
- If-Modified-Since. Дата изменения файла.
2024-06-17 19:37:16 +03:00
- Cache-Control
2024-06-19 08:36:52 +03:00
- public - Сохранять может не только браузер, но и промежуточные узлы
2024-07-01 12:08:45 +03:00
- private - Сохранять может только браузер клиента
- no-store - не кэшируем. ==не уверен что правильно записал==
- no-cache - Сохранять только в браузере, не сохранять на промежуточных серверах. ==не уверен что правильно записал==
2024-06-19 08:36:52 +03:00
- max-age - Сколько нужно хранить файл в памяти
- LocalStorage. Можно через JS складывать данные.
2024-06-19 08:31:52 +03:00
Статический контент - это содержимое сайта, которое остается неизменным продолжительное время на всех страницах. Например, это такие файлы, как картинки, CSS и JS файлы.
Так как эти файлы редко изменяются, то можно сохранять их в кэше браузера пользователя. Вместо того, чтобы обращаться к серверу каждый раз, браузер будет использовать свою локальную копию этих файлов.
2024-07-01 12:28:50 +03:00
- [Кэширование статики в Nginx](Кэширование%20статики%20в%20Nginx.md)
2024-06-17 19:37:16 +03:00
2024-06-19 08:41:52 +03:00
![](Pasted%20image%2020240619083856.png)
2024-06-17 19:37:16 +03:00
Инвалидация:
- Самый простой вариант указывать версию в GET параметрах.
- Для статики можно использовать [Fingerprint файлов](Fingerprint%20файлов.md)