编程学习网 > WEB开发 > 网站运营 > 提高网站加载速度的解决方案有多少(上)
2016
01-12

提高网站加载速度的解决方案有多少(上)

一个Web站点是否吸引人当然是由它的内部决定,但不管这个站点有多迷人,只要它的加载速度足够长,就能完全让访客忽视掉这些别具一格的内容。这个观点并不新颖,如今越来越多的开发者也注意到这一点,甚至也成为前端工程师必备的技能。听着像是有些复杂,如果摊开这些影响加载速度的问题细致分析,对多数具备基本html知识的站长来说,掌握它们也并不是一件困难的事。

 
我们不妨这样来考虑问题,一个页面的加载究竟向服务端请求了哪些数据?不外乎HTML文档js脚本css样式多媒体文件这几样,少数包括字体与其他插件,对于这些数据我们也不陌生,只需要弄清加载它们用的是什么方式然后再根据实际需要进行调整就能达到优化加载速度的目的。除此之外,一些服务器的选择与配置也可能属于我们优化的范畴,以此为基础,我们展开下面的讨论。

加载优化

wittsay.cc的优化评分

我用自己的博客wittsay.cc给大家做了一个简单的分析,现在可以看到几乎都是满分,其实在几天前博客的加载还需要4-5秒,甚至还会出现卡死,我在并没有削减页面元素数量的情况下进行了优化,从而达到现在的效果。这里有一项提示将javascript放在外部得分不高(CSS得分项也是受此影响),这是因为我使用了一种异步加载js的方法优化速度,也叫做非阻塞加载javascript,影响到这项的评分。不用担心,非阻塞加载也很简单我后面会逐一讲到。

服务器。无论站点本身的代码有多么优雅敏捷,采用了多少优化技术,服务器不够好仍旧会成为站点加载速度的后腿。当然我并不是说一个小小的博客或企业站要选用多大的带宽内存服务器,实际上够用就好,市场上的服务器多数都能够满足个人站长的需求,在这上面吃亏的可能是一些香港或国外服务器。我自己也用过一些香港与国外的服务器,不管价格如何都不能与国内服务器的速度相提并论,而且相对来说稳定性也较差,如果一定要选用非备案服务器我还是推荐linode日本节点,相比于其他国外服务器它足够的快,当然它也有不少缺点:虽然是vps,但价格甚至超过了一些国内的云服务器,而且近来22端口被封的太多,也难以保证稳定性。
域名解析。说实话在意DNS解析速度的都是一些大站点,个人站长很难在这上面有什么特殊要求,当然如果你是完美主义什么都要做到最好,还是可以百度一些目前的DNS排名作为参考。目前第一是近期被腾讯收购的DNSpod(wittsay.cc也在使用它)。
压缩。Gzip压缩一般自带于服务器中,几乎所有的web站点都开启,这里主要介绍的是html、js、css还有图片压缩。也许你会说我有钱服务器空间大用都用不完,这也要压缩?其实这和服务器本身的空间并没有多少关系,浏览器在解析网页时需要将各项数据从服务端请求下载,然后加以渲染,如果这些文件太多太大势必会影响造成下载时间过长,对于用户的感受就是漫长的等待。Html/js/css压缩工具百度就可以找到,可以在不改变其代码效果的同时进行压缩,甚至也有一些在线网页可以压缩它们。Png/jpg我建议使用minipng这样一款软件,当然如果你习惯在线压缩问题也不大。
请求次数。上面刚刚说到,如果浏览器对服务端请求下载数据过多过大就会影响用户体验,过大可以通过压缩来解决,那么过多呢?就像我在文章开篇所说的,一个页面请求的数据无外乎是html/js/css等等文件,想要缩小整个页面的请求数量我们要做的无非就是将它们中间一些不常改变的进行合并。特别是一些js与css文件,将它们写在外部的同时进行一些简单的合并能够有效的改善加载慢的问题。关于图片,我还是推荐使用CSS Sprites技术,也就是将众多页面元素图片合并在一起,然后通过位置来取用它们,这样在页面实际加载时仅仅只用向服务端请求一张图片。CSS Sprites算不上是一种技术,只是CSS中的一个小小的知识点,只要花上5分钟看一下教程相信大家都能掌握。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取