对html+css+js网站加载速度优化(虚拟主机)
再正文之前先贴上优化后的个人博客:http://散.top/
(本人学是的javaEE,因此虚拟主机不能在上面跑,只能写静态的挂上面玩。。)
为什么要优化网页加载速度?
引用下别人的话:
好奇心日报无论是设计还是内容都追求高品质,于是丰富的图文混合成了标配:首页的banner图,文章详情页的配图,研究所有趣的gif图等等。
特别严重的时候,一篇文章有十多个gif图,加载花费的时间10-20秒之长,加载消耗的流量几十M之多,严重影响了用户体验!尤其是Mobile端,一寸流量一寸金;3-5s打不开页面,用户都会直接逃离。所以网页加载速度优化势在必行!我们都知道一个网页的加载流程大致如下: 1、解析HTML结构。 2、加载外部脚本和样式表文件。 3、解析并执行脚本代码。//
部分脚本会阻塞页面的加载 4、DOM树构建完成。//DOMContentLoaded 事件 5、加载图片等外部文件。
6、页面加载完毕。//load 事件
一句话就是:请求HTML,然后顺带将HTML依赖的JS/CSS/iconfont等其他资源一并请求过来。
那么优化网页的加载速度,最本质的方式就是:减少请求数量 与 减小请求大小。
拿我的博客为例,因为这个设计网站有点特殊。全部内容都写在同一个页面中,1000行左右的代码。几十张大小不一的图片,还引用了Jquery+boostrap等框架。因此优化在此就显得相当重要了。
图片压缩:
首先要优化的是图片!没错,刚写完网站的时候,只是把素材来使用,完全没有考虑到图像大小之类的问题,而虚拟主机问了免繁琐的备案用了香港服务器,速度方便有点不尽人意。
先看优化前的一张大图
优化后:
优化前小图:
优化后:
经过ps压过后的大小可以大幅度加快加载速度!而且在很多图的页面下更为明显,在压缩的时候,可以根据自己的需要进行级别压缩,压缩太大的话会导致图片质量下降。
这里介绍下ps怎么对图片进行压缩,其他工具另行百度。
如果没有什么要求的话,首先对图片大小进行裁剪-打开ps-图像-图像大小。然后按自己需求进行裁剪。
然后进行图片质量的压缩,按ctrl+shift+s另存为
可以对品质进行选择,级别越低图片大小越小,通过图片也越模糊。也可以滑动进行调整。
HTML优化
引用地址:http://blog.csdn.net/for_cxc/article/details/50488287
如何加快HTML页面加载速度
1. 页面减肥:
a. 页面的肥瘦是影响加载速度最重要的因素。
b. 删除不必要的空格、注释。
c. 将inline的script和css移到外部文件。
d. 可以使用HTML Tidy来给HTML减肥,还可以使用一些压缩工具来给JavaScript减肥。
2. 减少文件数量:
a. 减少页面上引用的文件数量可以减少HTTP连接数。
b. 许多JavaScript、CSS文件可以合并最好合并,人家财帮子都把自己的JavaScript. functions和Prototype.js合并到一个base.js文件里去了。
3. 减少域名查询:
a. DNS查询和解析域名也是消耗时间的,所以要减少对外部JavaScript、CSS、图片等资源的引用,不同域名的使用越少越好。
4. 缓存重用数据:
a. 对重复使用的数据进行缓存。
- 优化页面元素加载顺序:
a. 首先加载页面最初显示的内容和与之相关的JavaScript和CSS,然后加载HTML相关的东西,像什么不是最初显示相关的图片、flash、视频
等很肥的资源就最后加载。 - 减少inline JavaScript的数量:
a. 浏览器parser会假设inline JavaScript会改变页面结构,所以使用inline JavaScript开销较大。
b. 不要使用document.write()这种输出内容的方法,使用现代W3C DOM方法来为现代浏览器处理页面内容。 - 使用现代CSS和合法的标签:
a. 使用现代CSS来减少标签和图像,例如使用现代CSS+文字完全可以替代一些只有文字的图片。
b. 使用合法的标签避免浏览器解析HTML时做“error correction”等操作,还可以被HTML Tidy来给HTML减肥。 - Chunk your content:
a. 不要使用嵌套table,而使用非嵌套table或者div。将基于大块嵌套的table的layout分解成多个小table,这样就不需要等到整个页面(或
大table)内容全部加载完才显示。 - 指定图像和table的大小:
a. 如果浏览器可以立即决定图像或table的大小,那么它就可以马上显示页面而不要重新做一些布局安排的工作。
b. 这不仅加快了页面的显示,也预防了页面完成加载后布局的一些不当的改变。
c. image使用height和width。
HTML页面加载和解析流程 - 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件。
- 浏览器开始载入html代码,发现标签内有一个标签引用外部CSS文件。
- 浏览器又发出CSS文件的请求,服务器返回这个CSS文件。
- 浏览器继续载入html中部分的代码,并且CSS文件已经拿到手了,可以开始渲染页面了。
- 浏览器在代码中发现一个标签引用了一张图片,向服务器发出请求。此时浏览器不会等到图片下载完,而是继续渲染后面的代码。
- 服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排布,因此浏览器需要回过头来重新渲染这部分代码。
- 浏览器发现了一个包含一行Javascript代码的
总结:
对于我们新手而言,我个人觉得对优化效果最大的如下几个:
1。图片大小的压缩。
2.image使用height和width。
3.其次是外部css要放在js的前面。样式显示是首要的,而事件是次要的。
对于新手上面那些优化之后,页面加载已经很明显了。再想优化可以了解更深入,毕业我也刚接触不久。
想看到网站加载时间速度可以用火狐按F12,然后点击网络。在最右边可以观察资源加载的速度,对此采取解决方案。
有什么建议可以留言,不对的也可以指正哈。