从HTTP响应头看各家CDN缓存技术

从HTTP响应头看各家CDN缓存技术

从HTTP响应头看各家CDN缓存技术

由于国内各家电信运营商互联互通的壁垒,CDN作为互联网用户加速的最后一公里,扮演了很重要的角色。

在各家公司大谈的异地多活容灾上也承担了用户分流的重任,看看各家用的东西,结合一些网上的公开资料,也能管中窥豹。

传统的国内CDN厂家有:帝联,网宿,蓝汛,快网等

新兴的互联网公司有自家产品对外输出型和创业公司细分型:BAT都有此产品,还有七牛,又拍,微软azure等

美国龙头:Akamai,美国市场大哥,Apple用的也是这个,但Apple的在线服务这么烂,真怀疑是不是Apple把Akamai带坑里了。

本文只展示响应头,有兴趣自己深挖。

淘宝

server:Tenginestatus:200timing-allow-origin:*via:cache15.l2et15-1[0,200-0,H],cache35.l2et15-1[0,0],cache3.cn286[0,200-0,H],cache8.cn286[11,0]x-cache:HITTCP_MEM_HITdirn:20:727080716x-swift-cachetime:31535998x-swift-savetime:Fri, 19Aug2016 02:55:13GMT

不用说,淘宝用的是自家阿里CDN, 走Tengine, 返回的响应很友好,甚至告诉你是从内存命中的。

x-swift指明了使用了的具体热点缓存技术。

关于阿里云CDN,有很多公开介绍,例如:

文章一:阿里云CDN技术演进之路http://www.slideshare.net/jos...

文章二:研究下淘宝的swift热点缓存迁移的事

via:cache46.l2et2[0,200-0,H],cache60.l2et2[0,0],cache7.cn286[0,200-0,H],cache8.cn286[3,0]x-cache:HITTCP_HITdirn:11:60349972x-swift-cachetime:31535950x-swift-savetime:Tue, 28Jun2016 04:04:29GMT

根据阿里云官网解释:

若:X-Cache:HIT TCP_MEM_HIT 表示命中缓存

若:X-Cache:MISS TCP_MISS 则表示未命中缓存

微信

腾讯CDN节点:

Server:Qnginx/1.1.1X-Cache-Lookup:HitFromDisktankX-NWS-LOG-UUID:406395d0-7cb8-4630-99cf-8208d04e7750

很明显,这里告诉大家CDN命中了磁盘缓存上的数据。

一些网上资料查到的解释:

X-Cache-Lookup:Hit From MemCache 表示命中CDN节点的内存

X-Cache-Lookup:Hit From Disktank 表示命中CDN节点的磁盘

X-Cache-Lookup:Hit From Upstream 表示没有命中CDN

腾讯CDN起步可能会晚一点,Qcon上一个公开资料:

CDN架构技术之道http://www.infoq.com/cn/prese...

腾讯还与小米合作,在硬盘版小米路由上推出了一个插件,叫腾讯会员兑换,本质上就是利用小米路由用户上的硬盘存储一部分内容,上传给需要用的用户,由腾讯计算收益,盘活了家里闲时的网络资源。

网易云音乐

Server:nginxX-Via:1.1ngdianxin90:9(CdnCacheServerV2.0)

网易太低调,最近也开始搞网易云产品了,但基本查不到什么公开资料,从响应头看似乎就是直接用的nginx。

新浪微博

Content-Type:image/gifSINA-LB:aGEuNDEuZzEuc2h4LmxiLnNpbmFub2RlLmNvbQ==SINA-TS:ZGFkYzk4Y2UgMCAwIDAgOCAwCg==Via:http/1.1 ctc.ningbo.ha2ts4.70 (ApacheTrafficServer/4.2.1.1[cRs f ])X-Via-CDN:f=Edge,s=ctc.ningbo.ha2ts4.70,c=115.231.82.33Age:1X-Via:1.1zjjhdx33:3(Cdn Cache Server V2.0),1.1tzhoudxin37:5(Cdn Cache Server V2.0)Connection:keep-alive

这个返回了Cdn Cache Server V2.0,有多家公司都返回了这个,不知道这是个啥玩意,是不是个开源通用产品呢?Squid Varnish Nginx?

segmantfault:

命中

via:T.101203.R.1, M.ctn-zj-lna-204x-cache:HIT(R) from ctn-zj-lna-204x-request-id:c239b9ae8ec9f83030bbdfaabcfa8fb4x-source:U/200, G/200

缓存MISS

via:T.101195.N.1,T.101163.R.1,V.mix-hz-fdi-163,M.ctn-zj-lna-200x-cache:MISS(S)fromctn-zj-lna-200x-request-id:724565e217e01e9f60e9f1b74aecedb3

在ctn-zj-lna上缓存没有命中,这个ctn-zj是个CDN集群么?

七牛

访问该图片:http://7xt44n.com2.z0.glb.qin...

Response header返回:

X-Log:mc.g;IO:1/304X-Qiniu-Zone:0X-Reqid:90oAABxCoNMaw2wUX-Via:1.1dxxz44:2(Cdn Cache Server V2.0),1.1ngdianxin42:6(Cdn Cache Server V2.0)

用的就是自家产品。

唯品会

Server:vipshop/VbibTransfer-Encoding:chunkedVip-Cache:HITx-amz-delete-marker:falseX-Via:1.1xxxz53:0(CdnCacheServerV2.0),1.1zhdx34:6(CdnCacheServerV2.0)

看Server的响应头,似乎也应该是自家搭建的CDN,显示了命中与否。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • 经过了几天的学习,边看文档边敲代码,顺便把一些代码记录下来,以备后面温习。先看一个delay函数 concat *...
    楼上那位阅读 4,650评论 0 4
  • 最近牙龈出血的厉害,早晚刷牙都没有用。今天早起终于记得弄点胡萝卜吃。对了,还有家里老妈自己种的山芋,已经坏掉了3个...
    沐子2阅读 1,679评论 0 0
  • 渐渐长大才明白,其实谁都会散的.十四五岁的年纪,充满着朝气,可很快就要面临中考,面临离别.或许大家都会说,常联...
    陆槿年阅读 2,206评论 3 2

友情链接更多精彩内容