我维护一个本地 Intranet 站点,其中显示来自 IMDB.com 的电影海报图像。直到最近,我只是让一个 perl 脚本下载我需要的图像并将它们保存到本地服务器。但这变成了一个巨大的空间占用,所以我认为我可以简单地将我的站点直接指向 IMDB 服务器,因为我的流量非常小。
结果是一些图像会显示,而另一些则不会。显示的图像有时会在刷新几次后消失。这些图像存在于 IMDB 服务器上,只是不会显示在我的页面上。
IMDB 似乎不太可能以某种方式阻止这种访问,但这可能吗?我这边有什么需要配置的吗?
我没有想法 - 这对我来说没有意义。
如果相关的话,我正在使用 mod_perl 和 HTML::Mason 为我的页面提供服务。
谢谢, 瑞安
Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8l DAV/2 mod_perl/2.0.4 Perl/v5.10.0
最佳答案
他们绝对会阻止这种访问。您正在为您的网站使用他们必须付费的带宽。网站通常会查看 referrer ,查看它不是来自他们的站点,然后阻止或限制访问。您可能将此视为间歇性问题,因为 IMDB 允许您一定程度地使用他们的图像。
要了解更多信息,请查看客户端上的 HTTP 日志。通过使用 a browser plugin或通过 scripting it .查看 HTTP 响应代码,您可能会看到一些 4xx 或 5xx 响应。
我建议要么将图像缓存在缓存中,使未使用的图像过期,这将平衡访问与空间,要么获得一个付费的 IMDB 帐户。您可能可以获得一个 API key ,用于获取表明您是付费客户的图像。
关于html - 远程图像有时只显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3154562/