4

我正在使用图像调整器在我的网站中输出图像。目前情况下是否可以使用CDN?

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

4

3 回答 3

1

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

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

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

于 2012-06-12T18:04:03.490 回答
0

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

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

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

  2. 根据请求运行图像调整器脚本(即:调整单个图像的大小并上传到 CDN),但前提是图像在 CDN 上不存在。(您可以将创建的图像列表存储在数据库中,或者,如果可能的话,最好使用对象表示法默认图像技术)(很酷的解决方案。缺点:旧浏览器不喜欢对象标签,虽然是非标准的有效,代码)。

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

希望这会有所帮助,我很想听听您选择了什么解决方案。

于 2013-01-17T21:53:08.617 回答
0

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

于 2012-06-12T17:57:16.390 回答