TGViewer
Bug or Defect? Bug or Defect? @bugordefects · 2.56K subscribers
Post #312 589
Bug or Defect? Завдання дня для QA Питання: Який заголовок змушує клієнта перевіряти актуальність кешу, але не забороняє кешування?
Всім доброго ранку, 🤗☀️☀️
сьогодні без історій, ранок як ранок у відпустці, вирішив вам зробити короткий розбір пула)))


Чому не (A) і шо таке взагалі таке Cache-Control: no-store

Це як сказати браузеру

Я тобі не довіряю. Нічого не зберігай. Навіть не думай.

Я часто бачив це на логін-сторінках або в API, де йдеться про персональні дані. Ніякого кешування. Взагалі. Ні в браузері, ні на проксі. Запит відповідь забув.


Чому ні це (С) Cache-Control: private, max-age=86400

Цей заголовок для персонального кешу. Це Типу Браузер, тримай цей ресурс у себе, але нікому не показуй. Тільки для цього користувача. І тримай його 24 години.

І тут уже ніяких перевірок серверу немає, поки не пройде час. Просто кешується, і все. Я таке часто бачу у відповідях, де є щось типу профілю користувача або його налаштувань.


Ну і чому ні (D) хоча я розумію чому це вас манило , ну і що таке все ж це Cache-Control: public, max-age=0, must-revalidate

Це вже серйозний режим. Тут кажуть Кешуй хоч на проксі, хоч у браузері, але перевір перед використанням. І якщо не вдасться перевірити, не використовуй!

Схоже на no-cache, але більш суворе. Тут кеш не просто повинен перевірятись, він не має права юзатись без підтвердження.

Це корисно для всяких CDN, коли треба мати абсолютну впевненість, що дані не застаріли навіть на проксі.

Ну і правильна відповідь (B)
Cache-Control: no-cache

Ооо, а ось це улюблений обманщик QA-шників.

На перший погляд, звучить як «не кешуй». Але насправді він каже

Можеш зберігати відповідь у кеші, але перед кожним використанням перевір на сервері, чи вона актуальна.

Це як коли зберіг копію документа, але перед тим, як його комусь дати телефонуєш автору,
Слухай, а нічого не змінилось?

З таким заголовком дані зберігаються, але використовуються тільки після підтвердження, наприклад, через ETag.

Саме тому це і є правильна відповідь на питання , змушує перевіряти, але не забороняє кешування.



Як висновок від мене, є
no-store, забороняє кешування взагалі
no-cache, дозволяє кешування, але змушує перевірити на сервері (наша відповідь)
private, max-age=86400 , кешує надовго, для одного користувача, без перевірки
public, max-age=0, must-revalidate, кешувати можна, але без перевірки, не юзай

Мораль

Якщо бачиш no-cache не ведись на назву. Це не “не кешуй”, це “кешуй, але перевіряй!”


Всім гарного робочого дня і продуктивного 🤗🤗🌞
  • ❤ 20
  • ❤‍🔥 4
  • 👍 3
  • 🔥 3
  • ⚡ 1
More from @bugordefects
  1. Oct 16, 2026Post #965
  2. Oct 13, 2026Друзі привіт - як ваш день?) Сподіваюсь ви та ваші близькі в безпеці. Ну шо, продовжимо на…
  3. Oct 8, 2026Друзі привіт - як ваші справи? сподіваюсь ви в безпеці. Так я думаю є багато хто любить по…
  4. Oct 7, 2026Друзі привіт - я сподіваюсь ви всі в безпеці і ваші близкі теж. Я дуже приємно вражений ві…
  5. Oct 3, 2026Друзі привіт, ну шо, відпочиваєте від тестування?) А я як завжди, зранку кава, налаштовую…
  6. Oct 1, 2026АНОНС❤️❤️❤️ Друзі привіт, як ваш день?) Сподіваюсь ви та ваші близькі в безпеці. Ну що, це…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →