小于2s属于优良,高达4s是可接受,大于5s的页面载入时间就会影响用户的体验效果。
1. 优化图片
图片需要用户从服务器上加载到用户电脑上,过多过复杂的图片会增加页面加载时间。
解决:处理图片合适的大小尺寸。有些小图标可以合成一张雪碧图,减少HTTP请求。在不影响效果的前提下更改一些图片保存格式。
2. 去掉不必要的插件
网络上很多插件可以帮助开发者快速开发,但是插件都是需要服务器处理的,会增加页面加载时间。
解决:禁止或删除不必要的插件,用有些js功能代替安装插件
3. 减少DNS查询
DNS(域名系统)是将域名和IP地址相互映射的一个分布式数据库,可以方便用户访问互联网。DNS查询会花费较长时间来返回主机名的IP地址,查询结束之前浏览器不会进行其他操作。具有多个网络元素(URL、图片、脚本文件、样式文件等)的页面要多个DNS查询,会花费很长时间。
解决:减少不同域名的数量将减少并行下载的数量,加速网页
4. 避免重定向
重定向会增加额外的HTTP请求,从而增加页面加载时间。一些不可避免的重定向除外(链接网站的不同部分、保存多个域名、跳转到新页面)。
解决:避免使用重定向,及时修复破损的链接。
5. 压缩CSS和JS
压缩是通过移出不必要的字符,比如代码注释、空格、回车、TAB,来减小网页大小以及加载时间。但是仍需保存JS和CSS原文件,便于修改更新代码。
6. JS和CSS尽可能将其外部化,利用浏览器缓存
浏览器缓存是允许访客的浏览器缓存页面副本的功能。便于用户再次访问时,直接从缓存中读取内容而不必重新加载。节省向服务器发送HTTP请求的时间。因为浏览器会缓存外部文本,而以内联方式的CSS和JS每次都会随着HTML一起加载,比较费时。
解决:采用外部链接文件,而不是包含在HTML页面自身中。
//链接样式
<link rel="stylesheet" type="text/css" href="css.css" />
//脚本链接
<script src="script.js" type="text/javascript"></script>
7. 先加载CSS,再加载JS
HTML在浏览器中是从上而下执行的。CSS放在页面顶部引入可以节省浏览器加载和重绘页面元素的资源。JS一般是功能的实现,放在底部可以避免代码执行前的等待时间
8. 使用Ajax缓存
尽量使用Ajax,Ajax可以缓存请求的内容。
有道云笔记参考:http://note.youdao.com/noteshare?id=f84e1c89eba48d590e4e025a013f9613&sub=3E2B90172C6C4C48866B07F40FA08F94