我将共享主机与 CDN Cloudflare 结合使用。而且,我的网站肯定比使用 CDN 之前更快。但是,我想更好地了解 CDN 和我的托管服务如何交互。例如,假设我在网页上有一张图片,以及一个外部 javascript 文件。我知道 CDN “缓存”了这些资源。但是,这是否意味着 CDN 不是从我的共享主机传输图像/javascript(这将“花费”我每个月传输的字节数),而是本质上给我“免费”传输这些资源?
问问题
97 次
1 回答
1
是的,如果您的 CDN 服务提供商不收取任何数据传输费用(例如免费级别的 CloudFlare),您是对的。
基本上发生的事情是用户向您网站中的资产发出请求,如果该项目已经缓存在您的 CDN 提供商的边缘节点中,则将从他们那里提供该项目。您的服务器会受到攻击的唯一时间是当资产从缓存中不可用或过期时。
但是这种免费确实是有代价的,没有免费的饭菜,想象一下如果简单地让每个人都吃一顿饭,CloudFlare 将如何生存。
大部分免费服务没有性能保证,所以缓存命中率可能不会一直很高,CDN提供商可能只会分配有限的内存来存储缓存给免费客户,因此有相对较高的机会您的资产在缓存中不可用。
更糟糕的是,如果缓存中没有内容,那么您的 CDN 提供商将需要将文件提取到您的源服务器。现在最终用户对您网页的直接请求变成了两个间接请求,这显然会增加加载时间。
于 2013-07-22T05:49:58.920 回答