Cloudflare——云闪耀(这个名字好)是全球CDN供应商,对免费用户友好
我们先来看看它有多友好,核心功能包括:
DDoS attack mitigation:Anycast网络天生自带属性,能让任意一台服务器提供服务,攻击流量自然也就分散了。
Global Content Delivery Network:激动人心的功能!是的~拨打屏幕下方的电话~你就能免费拥有!中国用户感觉不到是因为Cloudflare不在中国提供服务,换句话说没有PoP在中国。服务由合作伙伴百度云加速提供,还只有Enterprise用户才有
Support via email:有邮件回就不错了,不过还没联系过。
新文章、新链接肯定是能马上生效的,因为Edge Server里没有Cache就会访问Origin Server。
刚开始觉得Edge Cache TTL设成最低2H很好,那么修改最多2H就能自动生效。但后来仔细想了下,不对啊!对于我们这种偏居一偶的个人博客,每天就零星几个人访问,如果下一个访客在2H之后(大概率间隔还更长),那这个CDN还有什么用?
看来有必要研究下Cloudflare的配置和免费版的Cache行为。
从效率和成本考虑,我相信Cloudflare是增量Cache的。这里包含两层意思:
Cloudflare不会闭着眼睛抓取全站来Cache,又费马达又费电,没有必要。
只有当访问某个页面的时候,HTML和相关资源才会Cache到最近Peer网络的Edge Server,没有必要同步到整个CDN网络,比如某个Edge Server覆盖的地区根本就没人访问你的网站,Cache来做什么呢?
当然,Purge Cache肯定是要通知整个CDN网络的。但不建议Purge Everything,好不容易有个人鬼使神差的访问了你的博客,Cache到了Edge Server,你又去把它清除了,何必呢~何苦呢
下面设计了一个实验来验证我的想法:
colo
字段是离Data Center最近的国际机场IATA 代码。选择三个国家的代理,分别得到法国CDG、日本NRT、英国AMS。说明了国与国之间不会同步Cache,至于一个国家内的Data Center之间会不会同步,受条件限制,就不知道了。
那么可以推断出,每个地区的第一个访客是感受不得CDN加速的,和直接访问Origin Server差不多。
以至于Edge Server上的Cache是如此珍贵,Edge Cache TTL设成最大值并且控制权在自己手里
以上只针对免费用户!顶级付费用户的世界我们不懂
这个配置就涉及到浏览器如何使用本地Cache,而且主流浏览器之间还有些差异。
地址栏输入网址后回车:
F5/刷新按钮/右键Reload/Ctrl+R:
Ctrl+F5:
比如在浏览器Cache过期前修改了文章和图片,然后在Cloudflare做了Custom Purge,Firefox将看不到改变,F5后才会看到文章和图片的改动,而Chrome将只能看到文章的修改。我觉得大家很少F5,更不要说Ctrl+F5了
也就是说我们失去了Cache的控制权。设短了,太多无谓的304;设长了,文章的改动又不能生效。这个只有评估下自己修改的频率了。像我这种基本不更新的博客设置的是12H
爬虫程序将会抓取你的网站,在Origin Server挂掉的时候提供有限服务。抓取频率因人而异,免费(Free)用户每隔14天、专业(Pro)用户每隔6天、商业(Business)和企业(Enterprise)用户每隔1天一次。
但只会抓取部分数据,首页前十个链接以及每个深度的第一个链接,也就是说最大深度为3。
HOME:
最佳实践说:
Do not use Always Online with A Cache Everything Page Rule that configures an Edge Cache TTL lower than the Always Online crawl frequency pertaining to your domain plan type.
比如Edge Cache TTL设成7天,对免费用户来说Always Online14天才抓取一次,当然Edge Cache里的更新鲜,那么开Always Online就没啥意义了。
但Cache Everything就涉及到访问覆盖率的问题,如果网站非常受欢迎,每一个链接都有人访问,那么Cache Everything就相当于全站缓存;如果一个页面从来没有人访问,那肯定是Cache不到的。
Cache Everything是Cache最受欢迎的页面,Always Online是Cache几个固定的页面。对于博客类网站来说(全是GET),如果Cache完备,在Edge Cache TTL之前,CDN不关心Origin Server挂没挂掉。
不用管最佳实践,激活吧。