我将共享主机与CDN Cloudflare结合使用。而且,我的网站肯定比使用CDN之前更快。但是,我想更好地了解CDN和我的托管服务如何互动。例如,假设我在网页上有图像,以及外部javascript文件。我知道CDN“缓存”这些资源。但是,这是否意味着,而不是从我的共享主机传输图像/ javascript(这将“花费”我每月转移的字节数),而CDN这样做,基本上让我“免费”转移这些资源?
答案 0 :(得分:1)
是的,如果您的CDN服务提供商不收取任何数据传输费用(例如免费级别的CloudFlare),那么您是对的。
基本上发生的事情是用户向您网站中的资产发出请求,如果该项目已在您的CDN提供商的边缘节点中缓存,则该项目将由他们提供。 您的服务器获得点击的唯一时间是资产无法从缓存中获得或过期。
但这种免费确实需要付出代价,没有免费餐,想象如果只让每个人免费用餐,CloudFlare是如何生存的。
对于大多数免费服务,没有性能保证,因此缓存命中率可能不会一直很高,CDN提供商可能只分配有限的内存来为免费客户存储缓存,因此有一个相对的您的资产在缓存中不可用的可能性更高。
更糟糕的是,如果内容在缓存中不可用,那么您的CDN提供商将需要将文件提取到您的源服务器。现在,最终用户对您的网页的直接请求变成了两个间接请求,这显然会增加加载时间。