Встречается на собеседованиях • сегодня

Как можно запретить кэшировать HTTP запрос в браузере

Чтобы запретить кэширование HTTP-запроса, можно использовать следующие методы:

  1. Заголовки Cache-Control:
javascript
fetch('/api/data', {
  headers: {
    'Cache-Control': 'no-cache, no-store, must-revalidate',
    'Pragma': 'no-cache',
    'Expires': '0'
  }
});
  1. Добавление уникального параметра к URL:
javascript
fetch(`/api/data?timestamp=${Date.now()}`);
  1. Использование POST вместо GET, так как POST-запросы обычно не кэшируются.

  2. Настройка сервера - сервер должен возвращать соответствующие заголовки:

text
Cache-Control: no-store

Для XMLHttpRequest аналогично можно установить заголовки:

javascript
xhr.setRequestHeader('Cache-Control', 'no-cache');

Лучший подход - комбинация заголовков на сервере и клиенте. Особенно важно для динамических данных, которые часто меняются.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы