# Что такое кэш?

Кэш — это механизм временного хранения данных для ускорения доступа к ним при повторных запросах. Основная цель — повысить производительность и снизить нагрузку на сервер.

***

### 1️⃣ Виды кэша

1. **Браузерный кэш (Client-side)**

* Хранит копии HTML, CSS, JS, изображений и других ресурсов на стороне пользователя.
* Пример: при повторном открытии сайта браузер загружает файлы из кэша, а не с сервера.
* Управление через HTTP-заголовки:
  * `Cache-Control` — инструкции по кэшированию.
  * `ETag` — проверка актуальности ресурса.

2. **Серверный кэш (Server-side)**

* Сервер хранит результаты часто запрашиваемых данных (страниц, запросов к базе).
* Пример: динамическая страница с товарами может кэшироваться на 5 минут, чтобы не делать каждый раз сложный SQL-запрос.

3. **Промежуточный кэш (Proxy / CDN)**

* Хранится на промежуточных серверах или в CDN.
* Ускоряет доставку контента пользователю по географическому принципу.

***

### 2️⃣ Как работает кэш

1. Клиент делает запрос к ресурсу.
2. Проверяется, есть ли актуальная копия в кэше:
   * Если есть → возвращается кэшированная версия.
   * Если нет → данные запрашиваются с сервера, а копия сохраняется в кэше.
3. При следующем запросе процесс повторяется.

***

### 3️⃣ Проблемы, связанные с кэшем

* **Старые данные** — пользователь видит устаревшую информацию.
* **Неправильная настройка заголовков** — ресурсы не обновляются вовремя.
* **Кэширование приватных данных** — утечка информации.

***

### 4️⃣ Зачем это важно для QA

* Проверять, что изменения на сервере корректно отражаются у пользователя (иногда нужно чистить кэш).
* Проверять правильность заголовков кэширования.
* Тестировать производительность страницы и API с кэшированием и без него.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kaze.gitbook.io/qa-theory/web/chto-takoe-kesh.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
