0

据我了解,缓存是代理服务器的主要实用程序之一。我目前正在尝试开发一个简单的,我想知道缓存是如何工作的。

直觉上我认为它基本上是请求和响应之间的关联。例如:对于以下请求:“GET google.com”,您将得到以下响应:“HTTP/1.0 200 OK...”

这样,只要代理服务器收到对该 URL 的请求,他就可以用缓存的响应进行回复(我现在并不担心何时提供缓存的响应以及何时将请求实际发送到真正的目的地)。

我不明白的是如何建立请求和响应之间的关联,因为 HTTP 响应没有任何字段说“嘿,这是您在请求 X URL 时得到的响应”(或者是吗?) .

我应该通过分析底层协议来获取这些信息吗?如果是这样,怎么做?

4

1 回答 1

0

当请求到达时,您的缓存代理服务器已经投入使用。因此,您有请求的资源 URL。然后你查看你的缓存并尝试为请求的资源 URL 找到缓存的资源,如果你在缓存中找不到资源(或缓存已过时),你从源中获取数据。请记住,如果您收到 PUT、POST 或 DELETE 请求,则必须使缓存的资源无效。

于 2013-09-11T13:26:03.487 回答