http代理有一些请求内存吗?

时间:2013-09-24 20:29:34

标签: http nginx reverse-proxy cache-control

想象一下,我们有http客户端,一些代理和Web服务器作为后端。代理配置为缓存后端的响应。

请求到达,代理将其传输到后端,后者响应,代理缓存响应并将其发送给客户端。

想象一下,后端在响应代理请求时设置了一些与缓存相关的标头。例如:

Cache-Control: no-cache         (or)
Cache-Control: max-age=100000   (or)
Expires: 'Next Friday'
  1. 问题是:代理是否会按照该标题处理来自客户端的下一个请求?

  2. 问题的另一个含义:代理是否有办法了解资源是陈旧的,除了自己的静态资源生命周期设置?

  3. 第三种变体:如果代理的代理版本不被代理视为陈旧,客户端是否可以强制代理加载新资源版本?

  4. 我的问题可能看起来有点过于笼统,不够具体。我将尝试使用浏览器+ nginx代理+ nginx web-server 设置来解决此问题。如果我的设置正常工作,如果某个资源已被代理缓存,并且nginx的proxy_cache_valid超时仍然有效 - 没有什么可以阻止代理提供过时的响应;无论我做什么,请求都不会打到后端。

    看起来nginx只根据proxy_cache_valid设置决定缓存是否过时,后端响应的标头根本不重要。我想知道我的猜测是否正确以及其他一些http代理设置是否可能不正确,作为反向代理,如nginx,办公网络内部代理,如squid,互联网公共代理。

0 个答案:

没有答案