HTTP缓存如何在代理服务器中运行?

时间:2013-08-02 00:51:56

标签: http proxy http-caching

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

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

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

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

我是否应该通过分析基础协议获得此信息?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:0)

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