50 lines
2.7 KiB
Markdown
50 lines
2.7 KiB
Markdown
|
---
|
|||
|
aliases:
|
|||
|
tags:
|
|||
|
- maturity/🌱
|
|||
|
date:
|
|||
|
- - 2024-06-17
|
|||
|
zero-link:
|
|||
|
- "[[../../../meta/zero/00 HighLoad|00 HighLoad]]"
|
|||
|
parents:
|
|||
|
- "[[../Кэширование|Кэширование]]"
|
|||
|
linked:
|
|||
|
---
|
|||
|
Обычно кэшируются только GET запросы, так как они должны быть [[../Идемпотентность|идемпотентны]].
|
|||
|
|
|||
|
Заголовки для кэширования:
|
|||
|
- ETAG. Тег, который позволяет указать версию файла. Можно использовать MD5.
|
|||
|
- If-Modified-Since. Дата изменения файла.
|
|||
|
- Cache-Control
|
|||
|
- public - Сохранять может не только браузер, но и промежуточные узлы
|
|||
|
- private - Сохранять может только браузер клиента
|
|||
|
- no-store - не кэшируем. ==не уверен что правильно записал==
|
|||
|
- no-cache - Сохранять только в браузере, не сохранять на промежуточных серверах. ==не уверен что правильно записал==
|
|||
|
- max-age - Сколько нужно хранить файл в памяти
|
|||
|
- LocalStorage. Можно через JS складывать данные.
|
|||
|
|
|||
|
Статический контент - это содержимое сайта, которое остается неизменным продолжительное время на всех страницах. Например, это такие файлы, как картинки, CSS и JS файлы.
|
|||
|
|
|||
|
Так как эти файлы редко изменяются, то можно сохранять их в кэше браузера пользователя. Вместо того, чтобы обращаться к серверу каждый раз, браузер будет использовать свою локальную копию этих файлов.
|
|||
|
|
|||
|
![](../../../meta/files/images/Pasted%20image%2020240619083856.png)
|
|||
|
|
|||
|
Инвалидация:
|
|||
|
- Самый простой вариант указывать версию в GET параметрах.
|
|||
|
- Для статики можно использовать [[Fingerprint]]
|
|||
|
|
|||
|
***
|
|||
|
## Мета информация
|
|||
|
**Область**:: [[../../../meta/zero/00 HighLoad|00 HighLoad]]
|
|||
|
**Родитель**::
|
|||
|
**Источник**::
|
|||
|
**Автор**::
|
|||
|
**Создана**:: [[2024-06-17]]
|
|||
|
### Дополнительные материалы
|
|||
|
- [[Кэширование статики в Nginx]]
|
|||
|
### Дочерние заметки
|
|||
|
```dataview
|
|||
|
LIST
|
|||
|
FROM [[]]
|
|||
|
WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link)
|
|||
|
```
|