CSS图像精灵通过CloudFront加载比本地加载更慢

时间:2010-10-08 03:16:31

标签: css amazon-s3 amazon-web-services sprite amazon-cloudfront

我刚刚改变了我的CSS图像精灵,从本地运行到CloudFront,现在有一个明显的滞后,甚至跨页面和页面重新加载。关于为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:2)

将图像从localhost移动到服务器(在这种情况下为CloudFront)将始终产生速度惩罚(相对于localhost,当然)。这是因为即使使用伟大的托管服务,浏览器也必须通过互联网向该服务器发送http请求,以确定该文档是否已被修改,因为它以前是是否缓存(未修改:HTTP响应304)。

假设不需要再次下载/重新缓存文档,这应该是CSS的图像请求的结束(特别是如果你使用的是css-sprites)。

如果由于缓存已过期或文档已更改而必须重新下载图像精灵,那么显然浏览器必须通过互联网和网络再次下载文件。这会导致成本,因为您自己的网络/内部网,您家和家庭与机柜之间的邻居之间的争用,以及您的ISP为您提供的任何速度。

尽管localhost是同一台机器,并且(可能)具有以毫秒为单位测量的响应。相比之下,访问亚马逊的CloudFront可能只需要一两秒钟,但这仍然是一个数量级(或更多)。