【发布时间】:2012-04-12 05:02:52
【问题描述】:
首先,我对标题感到抱歉。我找不到更好的了。
我有一个由 PHP 脚本生成的图像文件。此脚本(图像)连接到数据库并将其引荐来源网址保存在表中。 因为输出的图片没有变化,我觉得还是缓存比较好。
但据我所知,如果我缓存 1 个文件(例如 http://www.example.com/img.png.php),在每个页面上,浏览器都会从缓存中读取它。这对我的剧本不利。因为在第一次调用时,它会保存引荐来源网址并由浏览器缓存。并且在接下来的调用中,在不同的网站(referrer)上,将使用缓存版本,浏览器不会向服务器发送任何请求,最终referrer url不会保存在数据库中。
我可以对浏览器说,请为每个域缓存 1 个图像副本吗? 我的意思是:
http://wwww.abc.com/index.html发送请求以获取我的图像(脚本)浏览器检查它的缓存,但没有找到。所以从 服务器。并且 PHP 脚本会保存引荐来源网址。
用户转到 ABC.COM 的另一个页面。 (例如:
http://wwww.abc.com/about.html)浏览器检查缓存,发现 它。所以不会向服务器发送请求以获取文件内容。 并且 PHP 脚本不会运行。另一个站点 (
http://wwww.efg.com/index.html) 发送请求以获取我的图像(脚本) 浏览器检查缓存,但不会找到它。所以发送文件请求 内容。和 PHP 脚本运行..........................
有可能吗? (对不起,文字很长,语法问题很多)
【问题讨论】:
-
HTTP referer 无论如何都是完全不可靠的
标签: php caching cache-control