CDNs 的工作原理

作者: 进击的小铁 | 来源:发表于2016-06-18 12:41 被阅读0次

先看下 Nicholas C. Zakas 的这篇文章How CDNs work
接下来的内容大部分是对这篇文章的摘抄。

什么是 CDNs ?

Content Delivery Networks,即内容分发网络。怎么理解呢?下面引用 NCZ 的一段描述:

Physics determines how fast one computer can contact another over physical connections, and so attempting to access a server in China from a computer in the United States will take longer than trying to access a U.S. server from within the U.S. To improve user experience and lower transmission costs, large companies set up servers with copies of data in strategic geographic locations around the world. This is called a CDN, and these servers are called edge servers, as they are closest on the company’s network to the end-user.

简而言之,CDNs 就是一些(缓存)服务器。设立在用户端与源服务器之间,用来存放符合缓存规则(HTTP headers设置)的数据副本。

为什么要用 CDNs ?

The goal of a CDNs is to serve content to end-users with high availability and high performance.

DNS 解析

什么是 DNS
当用户代理(浏览器)发起一个域名请求,DNS服务器会对请求进行解析查询并返回相应的IP地址。如果该域名请求由CDNs负责处理则返回相应CDN域名地址。

CDNs 内部 DNS 解析

When a user makes a request to a CDN hostname, DNS will resolve to an optimized server (based on location, availability, cost, and other metrics) and that server will handle the request.

当用户代理(浏览器)发起一个域名由CDN负责处理的DNS域名请求后,处理该DNS域名请求的CDN服务器会根据DNS解析器的IP地址做地理位置的查询,然后返回一个距离那个地理位置最近的一个CDN服务器的IP。

访问内容

端服务器是跟浏览器缓存工作方式类似的缓存代理。当一个请求来到端服务器,服务器首先检查缓存看一下请求的内容是不是存在。缓存的key是整个包括查询字符串的URL(正如在浏览器中一样)。如果内容在缓存中,并且缓存条目没有过期,那么这份内容就直接从端服务器中提供出去。可如果,内容不在缓存里或者缓存条目已经过期,那么端服务器发一个请求到原始服务器去获取信息。原始服务器是内容的真相的源头并且能提供所有在CDN上有的内容。当端服务器从原始服务器收到响应,它把根据http响应头把内容存储在缓存里。



参考:维基百科How CDNs work原文链接

相关文章

  • CDNs 的工作原理

    先看下 Nicholas C. Zakas 的这篇文章How CDNs work。接下来的内容大部分是对这篇文章的...

  • iOS 圆形水波浪效果实现

    水波浪效果如下 最近项目中用到一个小的波浪动画,查阅了一些资料如下:网上参考的一些效果CDNS上的原理 主要实现方...

  • Jmeter学习之路

    主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...

  • 使用图片 CDN 优化图片传输

    本文翻译自:https://web.dev/image-cdns 作者:Katie Hempenius 图片内容分...

  • FaceBook第三方登录问题处理

    详情知识请参考:我的CDNS技术文档 FaceBook第三方登录链接点击

  • this 的工作原理

    this 的工作原理 JavaScript 有一套完全不同于其它语言的对 this 的处理机制。 在五种不同的情况...

  • Spark核心编程:Spark基本工作原理与RDD

    Spark核心编程:Spark基本工作原理与RDD Spark基本工作原理 画图讲解Spark的基本工作原理1、分...

  • 工作原理

    1、结构 Mybatis底层还是采用原生JDBC来操作数据库的,只不过通过一些处理器封装了这些过程: SqlSes...

  • 工作原理

    PHP工作原理 当在Web站点中融入PHP功能后,将发生以下事情: 1、用户向浏览器地址栏输入网址,默认页面的扩展...

  • 工作原理

    我们聆听、我们思考 我们培养打破桎梏的视角 我们擅于在平凡中发现美的存在 我们不作表面文章或是故弄玄虚 我们不会夸...

网友评论

    本文标题: CDNs 的工作原理

    本文链接:https://www.haomeiwen.com/subject/yxzvdttx.html