文档章节

CDN

x
 xiaomge
发布于 2017/02/15 14:27
字数 489
阅读 24
收藏 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.浏览器得到由缓存服务器发回的数据,并将其显示出来。至此,完成整个域名访问的过程。

本文转载自:

共有 人打赏支持
上一篇: cookie
下一篇: 高可用参考资料
x
粉丝 0
博文 177
码字总数 88260
作品 0
昌平
私信 提问

暂无文章

详解css BEM书写规范

BEM是基于组件的web开发方法。其思想是将用户界面分隔为独立的块,从而使开发复杂的UI界面变得更简单和快,且不需要粘贴复制便可复用现有代码。BEM由Block、Element、Modifier组成。选择器里...

前端小攻略
3分钟前
0
0
一个centos初始化脚本

概述 就是自己无聊写的一个脚本,欢迎使用,star,fork顺便关注我一波 https://github.com/bboysoulcn/centos 使用方法 这个是给最小化安装的centos使用的,在centos 7.5上测试过,当然其他的...

bboysoulcn
7分钟前
0
0
mybatis 自动维护 createdAt, updatedAt

SpringBoot Mybatis Plus公共字段自动填充功能

youngjdong
10分钟前
0
0
Docker之nginx容器中部署静态文件

注: Docker版本如下: Client: Version:17.12.0-ce API version:1.35 Go version:go1.9.2 Git commit:c97c6d6 Built:Wed Dec 27 20:11:19 2017 OS/Arch:linux/amd64Ser......

克虏伯
11分钟前
0
0
搭建git服务器————gitlab

github毕竟是公开的,而私有仓库又得花钱买。所以我们可以想办法搭建一个私有的,只自己公司使用的。Gitlab是个不错的选择。在介绍它之前,先讲述一下命令行的git服务器 找一台服务器,首先要...

chencheng-linux
18分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部