大型网站选择独立cdn域名(与主站不同根域)的原因-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

大型网站选择独立cdn域名(与主站不同根域)的原因

enj0y 2012-08-12 10:51:19 16855

如果有心的访客在访问淘宝,新浪围脖的网站时就会注意到其大量静态文件(诸如css,js,图片等)都是通过非主站的域调入的,这样做有什么好处呢?,下面我们就来分析下他们为什么这么做。

1.便于cdn、web业务独立。
大家都知道,cdn起到加速作用的前提是线路优于源站(对动态网页加速)或者要hit命中请求(对静态内容加速)。而大型网站有的在使用蓝汛chinacache、网宿chinanetcenter,而更多的的是自己在机房投入建设cdn,将其作为自己的一项业务。
大公司里面,不同产品间不同部门都是权限分级的,所以,域名分开更便于业务的管理、维护,也许你会问,用子域名不是照样可以分级么?别急,往下看。。。

2.更利于cdn的hit命中。
为了降低web压力,cdn系统会遵循cache control和expires http头标准对改请求返回的内容进行缓存,便于后面的请求不在回源,起到加速功能。而传统cdn(web与cdn合体)的方式,需要对不同类型的文件设置相应的cache规则或者遵循后端的http头,但这样难以发挥cdn的最大优势,因为动态请求回源的概率非常之大,如果访客与源站的线路并不慢,通过cdn的请求未必快于直接请求源站的。 大型网站为了提升web性能到极致,通常缓存头设置比较大,像谷哥js设置一年缓存,百度首页logo设置十年缓存,如果将静态元素抽取出来,就可以很方便的对所有静态元素部署规则,而不用考虑动态请求。减少规则的条数可以提升cdn的效率。

3.让请求不带庞大的cookie。

很多朋友都知道,一般情况下,对css,js,图片等静态元素请求cookie是没有意义的,反而会浪费访客带宽和服务器入带宽。但根据http协议,同域下的同时候请求,COOKIE参数是一样的,就好比签名站某站内图:


  

以淘宝img01.taobaocdn.com为例给大家看下淘宝域节省COOKIE流量的效果:

大家可以看到访问请求时,没有任何cookie请求参数。




再来看看签名站使用阿里云OSS储存图片(未做cname映射)的效果:



再来讨论下为什么CDN不建议使用主站的子域名?


这是因为COOKIE的域归属特性所决定的。比如你请求了 www.xiazijiang.com,服务器返回要求写cookie…. domain=www.xiazijiang.com,这样就可以将COOKIE保存到 www.xiazijiang.com的域下。也可以domain=xiazijiang.com,将COOKIE保存到根域。两种做法造成效果上的区别是后面的请求,前者是所有 www.xiazijiang.com下(包含www的子域名,如a. www.xiazijiang.com)的请求都会带上COOKIE,而后者是所有xiazijiang.com(包含其子域名,如 www.xiazijiang.com, a.xiazijiang.com)都会带COOKIE,而现在很多应用都是跨域的,比如主站是CMS,与BBS论坛整合,可能导致COOKIE跨域名调用。而有些CMS内部程序构架时也会强制写根域的COOKIE,所以,不建议在CDN业务上使用主站的子域名。
最后讨论下为什么连COOKIE这点小流量都要省?


WEB优化是无孔不入的,哪里可以省就要省哪里,本身这些COOKIE参数就是无用的,别小看这几百B到KB的COOKIE,在淘宝等等大型网站大流量时,可以省去不少网络占用的。而正是基于这些细节上的优化,让淘宝自建CDN在双11等猛量请求中斩获新绩,其成就已经远超越国内商业CDN产品。


如果贵站流量上已经大到有点力不从心了,在选择CDN/OSS的同时,建议参考一下文章,合理斟酌。
缓存 JavaScript 前端开发 双11 对象存储 CDN
分享到
取消 提交回答
全部回答(9)
  • xchm
    2019-10-24 11:06:46

    双11拼团 86元/年 https://www.aliyun.com/1111/2019/group-buying-share?ptCode=A6B4731A083773AB523C557CDFD33D4A647C88CF896EF535&userCode=uyae4s5d&share_source=copy_link

    0 0
  • xinglai
    2012-08-13 11:33:39
    Re大型网站选择独立cdn域名(与主站不同根域)的原因
    现在搜索引擎也很在意用户体验这一块,响应时间过长,会降低对网站的好感度。
    我们在内测阶段就开始用CDN,动态内容所在的服务器采用BGP多线,接入骨干网。
    阿里云的服务器应该是BGP多线,访问速度还不错。
    0 0
  • kideny
    2012-08-13 10:24:06
    CDN确实很遥远啊。
    0 0
  • enj0y
    2012-08-12 14:15:39
    回 5楼(sjaelien) 的帖子
    刚睡醒?哈哈

    -------------------------

    回 7楼(sjaelien) 的帖子
    年轻人,悠着点
    0 0
  • sjaelien
    2012-08-12 14:13:11
    学习,不过用上CDN还好遥远。

    -------------------------

    回 6楼(ap6214f2r) 的帖子
    你真相了,确实才起一会,不过早上4,5点才睡的。。

    -------------------------

    回 8楼(ap6214f2r) 的帖子
    生物钟倒着,木有办法。
    不过明天要出门旅游了,生物钟能恢复正常了。
    0 0
滑动查看更多
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章
相似问题
推荐课程