想要保证前端的响应速度,除了使用内容压缩、延迟加载、服务端渲染等技术,还可以使用CDN加速,来分担服务器压力,提高响应速度。
这篇文章我们来聊聊CDN.
概念和作用
CDN(Content Delivery Network)内容分发网络,实际上是一组特殊的服务器,它们专门用来缓存一些资源,比如js、css、视频内容等。
主要作用就是快速的返回内容。这里的快速,除了服务器处理的快速,更多的指的是网络传输的快速。因为用户在请求CDN内容时,它会自动选择最近的服务器节点来返回内容给用户。并且CDN服务器会针对响应内容做一定的优化,比如内容压缩。
由于用户请求的是CDN服务器,找不到资源时由CDN服务器再请求实际的服务器,加了一层隔离,能减少网络攻击,增强安全性。
具体过程
首先是浏览器向指定域名发起请求。经过一系列DNS服务器协作,请求会最终定向到CNAME配置的CDN DNS服务器(CNAME是DNS域名解析的配置项)。CDN DNS服务器会根据负载、距离等因素,返回指定的IP地址。然后浏览器就可以向这个IP发起请求,获取资源。当资源不存在时,CDN服务器会向配置的服务器的地址请求资源。
CDN服务器一般会用到一种叫IP AnyCast的技术。技术的细节比较多,可以考虑看下RFC 1546的文档。概括的说,就是一组CDN服务器会使用相同的IP地址(他们所在的网络不同),然后当用户发起请求时,网络设备会遵循BGP协议,请求距离最近的节点来获取内容。
小结
CDN服务使用起来比较简单,只需要简单的配置。当我们的用户存在距离服务器较远的情况,就可以考虑使用了。
——————–往期精彩——————–
——————–书籍推荐——————–
原文始发于微信公众号(架构师手札):前端性能优化-使用CDN
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/234649.html