如何使用腾讯云CDN 及腾讯云CDN的详细配置教程

原文链接地址:https://cloud.tencent.com/developer/article/1462593


把静态公共资源放到cdn

1、为什么要把共有资源上传到CDN

举个例子如果css和 js我们都调用的本地的文件,我们将产品服务器放到北京。

如果海南客户想访问我们的项目,访问网页的时候加载的资源都从项目服务器加载这样的话网速和带宽都会受到限制,速度会慢。如果共有资源放到CDN上的话,CDN会在全国部署,所以访问网站加载资源的时候,系统会默认分配离你最近的CDN上去下载资源。这样的话访问速度就会得到提升!

 

2、Web前端性能优化之CDN加速

2.1、什么是CDN?

CDN(Content Delivery Network)即内容分发网络,其基本思路是尽可能的避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输更快、更稳定。

CDN系统能够实时的根据网络流量和各节点的连接,负载状况以及用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的就是使用户能够就近的获取请求数据,解决网络访问拥挤状况,提高用户访问系统的响应时间。

CDN是一组分布在多个不同地理位置的Web服务器,用于更加有效地向用户发布内容。

CDN将网站的资源发布到离用户最近的网络边缘,用户可以就近取得资源内容。

[if !supportLists]Ø [endif]CDN通常部署静态内容:JavaScript脚本、CSS样式表、图片、图标、Flash等,不包括html页面。


2.2、CDN加速

CDN的本质仍然是一个缓存,而且将数据缓存在里用户最近的地方,使用户以最快的速度获取数据,即网络访问第一跳。



当用户发起内容请求时,不同地区的用户访问同一个域名能得到不同CDN节点的IP地址,这要依赖于CDN服务商提供的智能DNS服务,浏览器发起域名查询时,智能DNS服务会根据用户IP计算并返回离它最近的相同网络运营商的CDN节点IP;

然后向边缘节点服务器发起请求,请求内容数据(这件事情由浏览器完成),边缘节点会检测当前节点是否有数据,如果没有就去front(父级节点,父级可能还会有父级节点,不同的网络环境策略会略有不同)节点要,如果还找不到就去源站拿,并依次序返回,一个地区内只要有一个用户先加载资源,就会在CDN中建立缓存,该地区的其他后续用户都能直接读取缓存数据。

如果某个边缘节点可以找到,会先校验内容有效期,当确定有效期之后返回给用户。动态页面是不适合做cdn加速的。原因:参照上面讲的cdn工作原理,由于页面是动态的,内容的有效期就比较活跃。假如我们对动态页面做了cdn加速,那么场景应该是这样的:用户——>边缘节点(验证有效期发现失效)——>源站。经过这个过程才能拿到页面,这样并没有起到加速的作用反而更慢了,那我们还不如直接去源站拿。


2.3、cdn优化网站性能

前端需要被加速的文件大致包括js、css、图片、视频、和页面等静态文件;

js、css、图片和视频文件和页面(html\jsp\aspx等)最大的区别是:这些文件都是静态的,改动较小,这类静态文件最适合做cdn加速。我们把这些静态文件通过cdn分发到全国乃至世界的各个节点,用户就可以在距离最近的边缘节点拿到所需要的内容,从而提升内容下载速度加快网页打开速度达到性能优化的目的。

动态页面:当收到用户请求时服务器会在服务端对页面进行一次后台渲染把数据渲染到页面之后再返回给用户。

静态页面:收到用户请求时,服务端不做渲染工作直接返回给用户。


浏览器对同一ip进行请求的最大并发连接数量不一样:IE11 、IE10 、chrome、Firefox 的并发连接数是 6个,IE9是10个,如果页面静态资源(图片等)过多(大于6个)会存在资源请求等待的情况。如果用多个不同IP的服务器来存储这些文件,并在页面中通过绝对路径的方式引用(要求同一IP的文件不超过6个)。这样就可以尽可能的减少资源请求等待的情况,页面加载速度就又会上升一个档次。

你可能感兴趣的:(如何使用腾讯云CDN 及腾讯云CDN的详细配置教程)