36 lines
2.2 KiB
Markdown
36 lines
2.2 KiB
Markdown
---
|
||
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) |