解决方案

有时候 ui 为了美观,会在一个页面中加入较多的图片。

这时会导致加载比较慢,常见的优化方式如下:

(1)CDN 静态资源加速

(2)图片压缩

CDN

CDN(内容分发网络)通俗地讲,其主要功能是让在各个不同的地点的网络用户,都可以迅速访问到网站提供的内容,不会出现等待或者卡顿的情况。

用户访问流程

根据传统的网络结构,用户的访问流程基本如下:

  • 用户在自己的浏览器中输入要访问的网站的域名

  • 浏览器向本地DNS请求对该域名的解析

  • 本地DNS将请求发到网站授权的DNS服务器

  • 授权DNS将服务器的IP地址作为解析结果送给本地DNS

  • 本地DNS将解析结果返还给用户,同时将该解析结果保存在自己的缓存中,直到相应的TTL(生存周期)过期,才再向网站的授权DNS请求解析

  • 用户在得到IP地址后,向该地址所指向的网站的服务器进行访问;

影响访问的环节

上述传统的访问模式存在着如下几个严重影响互联网用户的访问效率和质量的环节:

首先,传统的DNS解析过程在将网站主机域名转换为IP地址时,并不预先判断该服务器是否正常工作;即使该服务器已经宕机不能提供服务了,用户的请求仍将被发往这台服务器,造成服务的中断。

其次,互联网从诞生的第一天起,就缺乏一个专门的中央管理结构,也缺乏统一的产品和技术标准。这一点曾是互联网得以迅速发展的优势。

但是,随着互联网的规模越来越大,这一点造成了众多不同网络结构并存的局面。

不同网络间的兼容以及不同网络运营商ISP之间的传输瓶颈等问题使得数据的流通受到限制。

据统计,现有互联网上的平均传输速率不高于30Kbps。

另外,现有的互联网以数据包传输为基础,任何一个数据包的丢失或出错都必须重新发送,而平均一个重传过程需要3秒钟,从而导致延迟。

并且现有的HTTP协议也有诱发延迟的因素,据调查,完整下载一个网页,需要在用户和服务器之间往返20~100次。

最后,现有的路由技术以路由器工作状态的历史数据为依据来确定当前数据包的传输路径,无法真实反应当前的路由和网络连接状况。

这往往会导致数据传输所经过的路径并不是当前的最佳路径。而且,众多的路由器和交换机不但使数据传输的时间延迟增大,还增加出错的几率,因为任何一个路由器出现问题都会影响到整个传输过程。

参考资料

https://www.cnblogs.com/wxiaona/p/5867685.html

国内有哪些比较好的 CDN?