1、以Amazon的CloudFront为代表,内容发布者主动将需要发布的资源推送到CDN发布服务器上,然后由CDN服务商分发到其各节点。国内的提供商有UpYun。
2、以CloudFlare为代表,与前者不同,内容不需要主动发布,而是在浏览器向CDN请求资源时,CDN服务才主动向后端的资源服务器抓取资源。国内的提供商有WebLuker。
这两种服务,一种推送,一种拉取。后者除了在DNS设置上稍显麻烦外,其它方便性均超过前者,特别是因为内容源在自己的服务器上,可以灵活的设置url,比如动态合并js之类的功能,都可以实现了。
而前者除了多一个存储备份的功能外,内容的组织形式较为死板,必须按照静态目录的方式组织,不适合较为灵活的开发。似乎后者才是大势所趋。
对推送不太了解。。。估计是:源站内容有更新的时候,源站主动把内容推送到CDN节点。
常规的CDN都是回源的。即:当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是缓存已经到期,就会回源站去获取。如果没有人访问,那么CDN节点不会主动去源站拿的。