only-if-cached запитує в проксі збережену відповідь
Запросіть у співпрацюючого кешу HTTP наявну відповідь і трактуйте 504 як промах кешу, а не як мережевий контроль вихідного трафіку.
Для запиту, який має використати вже збережену відповідь, HTTP визначає Cache-Control: only-if-cached.
Клієнт може надіслати його через кешувальний проксі HTTP:
curl --proxy http://127.0.0.1:3128 \
--header 'Cache-Control: only-if-cached' \
--include http://www.example.org/report
Кеш, що дотримується цієї директиви, має повернути збережену відповідь, узгоджену з іншими обмеженнями запиту, або 504 Gateway Timeout, коли не може його задовольнити. Тут 504 може виражати політику кешу, а не невдале TCP-з'єднання з проксі.
Директива не дозволяє автоматично застарілий вміст. Свіжість, вимоги до перевірки та відповідні поля Vary досі важливі. Директива запиту no-cache може натомість вимагати успішної перевірки на джерелі перед повторним використанням.
Це також відрізняється від налаштування офлайн-режиму перевірки кешу. only-if-cached переноситься в окремому запиті й виражає, що клієнт готовий прийняти.
Використовуйте кеш, який підтримує таку поведінку. Проігнорована директива запиту не є міжмережевим екраном, тому суворе запобігання висхідному трафіку потребує незалежно застосованої мережевої або серверної політики.
Звичайний проксі HTTPS CONNECT не бачить зашифровані заголовки HTTP і не зберігає об'єкти сторінок із цього тунелю. Приклад навмисно використовує простий ресурс HTTP, який кеш може обробити.