有没有办法让 GoogleImageProxy 尊重 Cache-Control / expiration 标头?

有没有办法让 GoogleImageProxy 尊重 Cache-Control / expiration 标头?

我突然收到大量来自 Google 图像代理服务器的请求,如下所示:

66.249.81.250 - - [04/May/2015:06:55:54 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
66.249.93.170 - - [04/May/2015:06:56:31 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
66.249.93.170 - - [04/May/2015:06:56:31 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
66.249.83.202 - - [04/May/2015:06:56:44 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
64.233.173.224 - - [04/May/2015:06:56:45 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
66.249.81.244 - - [04/May/2015:06:56:49 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
66.249.83.196 - - [04/May/2015:06:57:19 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
64.233.173.218 - - [04/May/2015:06:57:27 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
66.249.83.208 - - [04/May/2015:06:57:30 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
66.249.88.250 - - [04/May/2015:06:57:32 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
66.249.88.252 - - [04/May/2015:06:57:32 +0000] "GET /images/image_1.jpg HTTP/1.1" 200 93394 "-" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"

如您所见,我的服务器(Apache 2.2.22)响应了完整的 200 并且对每个请求重新发送了图像。当我在浏览器中发出相同的请求时,我得到了 304 响应和以下标头:

Cache-Control:max-age=5184000
Date:Mon, 04 May 2015 06:43:00 GMT
Expires:Fri, 03 Jul 2015 06:43:00 GMT

是否有某种原因导致 Google 图片代理不遵守这些规定?除了打开 Cloudflare 之类的东西并希望获得最佳效果之外,我还能做些什么?我理解...

Apache 日志充斥着连接 - “(来自 ggpht.com GoogleImageProxy)”

... 这是“正常”流量,但我对每次都要重新提供整个 100kb 文件感到不高兴。

答案1

Goolge 图片代理正在缓存。
您可以通过将图片嵌入电子邮件并将其发送到您控制的 Gmail 帐户来轻松测试这一点。
重新加载页面几次(当然会删除缓存)。
缓存被命中,您的服务器将不会收到任何请求。

目前尚不清楚是否会向多个用户提供相同的缓存 URL/文件。
也许这就是您所看到的情况。

但无论如何:如果你给 10 个人发了一封电子邮件,并在其中嵌入了一张图片,那么你的服务器应该会处理 10 个请求。
我不明白这怎么会泛滥。

相关内容