Насколько я понимаю, кэширование — одна из основных функций прокси-сервера. В настоящее время я пытаюсь разработать простой, и я хотел бы точно знать, как работает кэширование.
Интуитивно я думаю, что это в основном связь между запросом и ответом. Например: на следующий запрос: "GET google.com" вы получите следующий ответ: "HTTP/1.0 200 OK..."
Таким образом, всякий раз, когда прокси-сервер получает запрос на этот URL-адрес, он может ответить кэшированным ответом (сейчас меня не очень беспокоит, когда обслуживать кэшированный ответ и когда на самом деле отправлять запрос в реальный пункт назначения).
Чего я не понимаю, так это того, как установить связь между запросом и ответом, поскольку в ответе HTTP нет поля, говорящего «эй, это ответ, который вы получаете, когда запрашиваете URL-адрес X» (или это так?) .
Должен ли я получить эту информацию, проанализировав базовые протоколы? Если да, то как?