Railgun通过加速每个Cloudflare数据中心与源服务器之间的连接,确保无法从Cloudflare缓存中提供的请求仍然快速地交付。
大约三分之二的Cloudflare网站请求直接从最接近浏览网站的用户的缓存中提供。由于Cloudflare在全球范围内拥有数据中心,这意味着无论您身处班加罗尔、布里斯班、伯明翰还是波士顿,网页都能快速传送,即使实际的原始Web服务器距离数千英里远。
大约三分之二的Cloudflare网站请求直接从最接近浏览网站的用户的缓存中提供。由于Cloudflare在全球范围内拥有数据中心,这意味着无论您身处班加罗尔、布里斯班、伯明翰还是波士顿,网页都能快速传送,即使实际的原始Web服务器距离数千英里远。
然而,发送到Cloudflare的其他三分之一的请求必须发送到源服务器进行处理。这是因为许多网页无法缓存。原因可能是配置错误,或者更常见的是网页频繁更改或个性化。
例如,将纽约时报的主页缓存一段时间是困难的,因为新闻不断变化,并且保持最新对于他们的业务至关重要。而在像Facebook这样个性化的网站上,尽管不同用户的URL相同,每个用户看到的页面却不同。
Railgun使用一系列技术来加速和缓存这些以前无法缓存的网页,即使在需要请求源服务器时,网页也能快速交付。这对于像新闻网站或个性化内容这样的快速变化的页面也有效。
Cloudflare的研究表明,尽管许多网站无法缓存,但它们实际上变化非常缓慢。例如,纽约时报主页会随着新闻的发布而全天变化,但页面的标准HTML大部分保持不变,许多新闻故事会整天保持在首页。
对于个性化网站,只有在少量内容(如个人的Twitter时间线或Facebook新闻推送)发生变化时,共同的HTML才是相同的。这意味着,如果页面中不变的部分可以被检测到并且只有差异部分被传输,那么就有很大的机会将网页进行压缩以便传输。