据我了解,缓存是代理服务器的主要实用程序之一。我目前正在尝试开发一个简单的,我想知道缓存是如何工作的。
直觉上我认为它基本上是请求和响应之间的关联。例如:对于以下请求:“GET google.com”,您将得到以下响应:“HTTP/1.0 200 OK...”
这样,只要代理服务器收到对该 URL 的请求,他就可以用缓存的响应进行回复(我现在并不担心何时提供缓存的响应以及何时将请求实际发送到真正的目的地)。
我不明白的是如何建立请求和响应之间的关联,因为 HTTP 响应没有任何字段说“嘿,这是您在请求 X URL 时得到的响应”(或者是吗?) .
我应该通过分析底层协议来获取这些信息吗?如果是这样,怎么做?