针对现在的网民来说,时间就是金钱,你的网页慢ldquo;对不起,我换一个,网站那么多总有一个快的rdquo;。
相信有很多用网页看盗版小说的小伙伴就深有体会,ldquo;打开一个小说页面老半天,看个小说都费劲,不好意思,pass掉,换个反应快的网站继续看ldquo;。
针对搜索引擎来说,ldquo;既然网民不喜欢你,我也不喜欢你,对不起,首页不适合你呆,下去吧,让别人来,别站着茅坑不拉屎rdquo;,特别是百度要求移动端网页打开要小于3秒,最好1.5秒。
开铭网络:网页加载慢是什么原因?网站打开慢原因分析及提速办法
于是乎,不知不觉间,你不知排名莫名的掉了多少,你不知流失了多少流量,你不知流失了多少客户,流失了多少金钱,对于大型网站尤为致命。
所以我们必须要知道网站加载速度为何慢,这里再和大家深度剖析一下。
首先我们要明白网页加载原理,从url到网页形成,中间经历了些什么,才知道怎么处理,怎么提速。域名解析过程这里就不说了,我们说说页面加载过程。
html网页加载流程(浏览器渲染过程)
1、用户输入网址(假设该网址第一次在该浏览器打开,没有缓存),浏览器向服务器发出请求,服务器返回html文件。
2、浏览器载入html文件,开始解析,从上往下开始解析。
3、解析过程中,浏览器发现lt;headgt;标签内有一个外部引用的css文件,然后浏览器向服务器发出请求,服务器返回css文件,浏览器开始下载。
4、浏览器继续载入下面的代码,而后下载好了css,并开始渲染页面,形成DOM树。
5、浏览器继续载入网页代码,又发现lt;headgt;内一个js引用文件,然后浏览器开始发出请求,服务器返回js文件,并阻塞并行的文件下载和解析,直到执行完毕。
6、浏览器继续载入网页代码,发现有js脚本,则会立即执行,并阻塞后续资源下载与执行,直到执行完毕。
7、浏览器继续载入,发现lt;bodygt;中lt;imggt;标签引用了一张图片,会向服务器发出请求下载图片,浏览器在下载图片的同时会继续渲染后面的代码。
8、图片下载完成,但由于图片占了一定的页面体积,影响了后面的布局,此时浏览器会重新渲染这段代码。
9、浏览器继续载入代码,发现lt;bodygt;中的js,如果是内置脚本(引用js需要请求下载)则直接执行,暂停后续载入,直至执行完成,而后继续载入后续代码,再进行页面渲染,如js改变了页面样式,浏览器还会重新渲染这部分代码。
10、直到最后全部代码执行完毕,页面渲染完成,展现出来。
开铭网络:网页加载慢是什么原因?网站打开慢原因分析及提速办法
网页加载速度慢的原因
1、js文件请求过多,加长了页面渲染时间。
2、重复渲染次数过多,浪费时间。
3、图片、视频资源过大,加载慢。
提高网页加载速度的方法
1、css分块
一般情况下,js的执行很依赖于前面的css样式,都是等css渲染完毕后开始执行,否则找不到元素;所以可以将css分成几块,首页的css 单独放一块进行执行,减少首次加载网页的白屏时间。
2、js执行顺序
(1)js中有deferrdquo;truerdquo;、asyncrdquo;truerdquo;两个属性值,前者表示要等到DOM加载完成后,再按顺序执行指定脚本,后者表示异步执行且不会依赖于任何js和css,下载完成就会立即执行(执行时会暂停渲染),不会阻断当前页面的渲染。
所以当我们的js满足这两个标签时,可以使用让其最后执行或异步执行,减少页面渲染时间。
(2)我们也可以将js放到body最后等页面渲染完成再执行。
开铭网络:网页加载慢是什么原因?网站打开慢原因分析及提速办法
3、网页减肥
(1)删除网页中多余的空格、没用的注释。
(2)将内置js,css移动到外部文件,免得多次渲染。
(3)将一些可用css写出来的问题代替图片。
(4)可以用一些压缩工具把代码压缩一下。
4、减少文件,减少请求
网页中若有很多个js或css,最好将其合并为一个js或css文件,减少请求次数。
开铭网络:网页加载慢是什么原因?网站打开慢原因分析及提速办法
5、重复数据存入缓存
对重复使用的数据进行缓存,提高二次加载速度。
6、指定图片、表格大小
内置样式,指定图片,表格的大小,以免重复渲染,让浏览器直接执行。
7、关于cdn加速
这个没啥好说的,选择优质的dns服务商就可以了。至于服务器这里就不提了,一个字ldquo;好rdquo;就行,推荐阿里云,阿里云的服务器技术确实没得说,就是快。
小贴士:关于图片和视频等大资源的话,大家可以使用阿里云对象存储技术(Object Storage Service,简称OSS),会提高加载速度,大家自个儿研究吧。
开铭网络:网页加载慢是什么原因?网站打开慢原因分析及提速办法
微信二维码
杭州开铭网络信息服务有限公司 版权所有 CopyRight © 2024 www.kaimingseo.com All Rights Reserved
浙ICP备19031157号-1
浙江省杭州市西湖区翠苑街道翠苑二区8-2幢配套用房2322室