文档章节

CDN

x
 xiaomge
发布于 2017/02/15 14:27
字数 489
阅读 23
收藏 0

https://segmentfault.com/a/1190000000538796

启用CDN缓存后浏览器访问的全过程:

1.用户输入URL,浏览器将解析过后的域名发给DNS服务器

2.CDN返回该域名对应的CNAME,此时浏览器需要再次对获得的CNAME进行解析,才能得到CDN缓存服务器的IP地址。在此过程中全局负载均衡DNS解析服务器会将用户的访问请求定位到离用户最近、负载最轻的CDN缓存服务器上。这种技术也被称为“DNS重定向”,DNS服务器不是为每个请求返回相同的IP地址,比如在悉尼的一个客户请求解析www.cdn.com,DNS服务器根据地理位置,计算出距离这个用户最近的CDN服务器,于是返回一个悉尼CDN节点的IP地址。这种方法也不一定是最优的,因为地理位置上最近的两个点,延迟可能反而很高。还有一种方法是通过估计节点间的样本延迟,具体原理我也不了解。

3.再次解析后,浏览器得到CDN缓存服务器的实际IP地址,向缓存服务器发起请求。

4.缓存服务器根据浏览器提供的域名,通过内部DNS解析得到此域名源服务器的真实IP地址,再由缓存服务器向该服务器发起访问请求。

5.缓存服务器拿到数据后,一方面将数据发回浏览器,另一方面进行本地保存,以备后用。之后再次访问,数据将从CDN缓存服务器中被返回。CDN不会永久保存数据,可以设置CDN的刷新频率,来达到数据的更新。

6.浏览器得到由缓存服务器发回的数据,并将其显示出来。至此,完成整个域名访问的过程。

本文转载自:

共有 人打赏支持
x
粉丝 0
博文 177
码字总数 88260
作品 0
昌平

暂无文章

macOs-挂载能读写的NTFS硬盘

转自:https://nicklinyi.gitee.io/blog/2018/04/macOS-ntfs.html Mac本身是支持NTFS写入的,只是NTFS是微软开发,由于版权和技术细节原因,苹果不愿公开说自己支持NTFS写入,也是有自己以后...

北风刮的不认真了
8分钟前
1
0
Namespace 命名空间

命名空间可以定义为一种封装方式。 为了解决开发中库和程序中可重用类和方法问题: 1.解决 PHP内部方法类/方法/常量 或者第三方 类/方法/常量之间的命名冲突 2.能够简化为了防止命名冲突而给...

忙碌的小蜜蜂
11分钟前
0
0
CDH的坑之Deploy Client Configuration Failed

Deploy Client Configuration Failed 1.问题描述 当使用CDH增添spark服务的时候,出现了以下错误: Faile to deploy client configuration to the cluster. 具体如下图: 2.思路 网上查了...

星汉
12分钟前
1
0
java guava 集合的操作:交集、差集、并集

Guava:google的工程师利用传说中的“20%时间”开发的集合库,它是对jdk提供的扩展,提供了很多实用的类来简化代码。 开源地址:https://github.com/google/guava jar包下载:http://maven....

帅的不像男的
12分钟前
1
0
从八个层面比较分析 Java 8, RxJava, Reactor

响应式编程在单机环境下是否鸡肋? 结论是:没有结论,我觉得只能抱着怀疑的眼光审视这个问题了。另外还聊到了 RSocket 这个最近在 SpringOne 大会上比较火爆的响应式”新“网络协议,githu...

小刀爱编程
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部