将CDN与Image Resizer脚本一起使用

时间:2012-06-12 17:23:55

标签: php image cdn

我正在使用图像缩放器在我的网站上输出图像。在当前情况下是否可以使用CDN?

图像缩放器获取图像的文件路径并输出所需的图像。现在即使我使用CDN,图像缩放器脚本也托管在我的服务器上。所以每个图像请求都通过我的服务器。使用CDN会以任何方式使我受益吗?

3 个答案:

答案 0 :(得分:1)

CDN上的缓存对象是在请求URI上键入的,因此如果应用程序不在URL中生成任何随机性,您应该从CDN中受益。如果您的图片请求看起来像这样

/resizer/200x100/thing.jpg
# ...or...
/resizer/thing.jpg?size=200x100

然后CDN将为所有后续请求缓存它。

答案 1 :(得分:0)

如果您的服务器和脚本足够快,那么我会使用您的服务器代码。这意味着如果需要添加自定义函数,可以使用脚本。如果您有任何严重问题或想要CDN可能提供的更多选项,请切换。

答案 2 :(得分:0)

简短回答:不会。如果您的服务器即时调整图像大小,那么它仍然会成为瓶颈,CDN的好处基本上就会丢失。

您可能会感到满意的三种解决方案:

  1. 让图像缩放器脚本在图像上传时运行一次,并创建所有必要的图像大小,然后以逻辑方式将所有内容存储在CDN上。 (合理的解决方案。缺点:非常严格,添加新图像尺寸需要大量工作)。

  2. 根据请求运行图像缩放器脚本(即:调整单个图像的大小并上传到CDN),但前提是CDN上不存在图像。 (您可以将创建的图像列表存储在数据库中,或者最好是,如果可能的话,使用object notation default image technique)(Cool解决方案.Downside:旧浏览器不喜欢对象标记,非标准,尽管有效的,代码)。

  3. 切换CDN,使用更成熟的CDN服务,允许您通过API操作媒体文件。例如:http://cloudinary.com/(顺畅航行解决方案。下行:不像非智能CDN那样便宜,但在大多数情况下你几乎感觉不到它,它会为你节省大量编码)。

  4. 希望这有帮助,我很想知道你选择了什么解决方案。