web前端性能优化问题
常用的几大优化解决:
- 页面内容的优化
- 减少http请求
途径:
1>启用http/2--越来越多的浏览器都开始支持 HTTP/2。HTTP/2 为同一服务器的并发连接问题带来了很多好处。换句话说,如果有很多小型资源需要加载(如果你 打包过的话就没有必要了),在延迟和性能方面 HTTP/2 秒杀 HTTP/1。
2>设计层面保持简洁,减少资源请求。
3>根据需求设置http缓存--少变的可以在header中延长过期头;变化不频繁而又可能会变的资源可以使用 Last-Modifed来做请求验证
4>资源合并压缩--外部的文件进行压缩处理(js,css,image),减少多次请求。压缩合并工具grunt,gulp,webpack等
5>css Sprites 精灵图 多个图片在一个整体的图片上, 减少图片的请求
2. 减少DOM的数量
DOM的操作费时费力,每次的访问及修改都会导致页面的reflow和repaint需要耗费大量的资源,如使用循环的时候,结束后将变量保存到局部,在进行访问。
3. 避免404
4.减少DNS查询的数量
DNS解析优化(DNS缓存、减少DNS查找、keep-alive、适当的主机域名)
5. 避免不必要的http跳转
根据服务器需求http路由请求时‘/’是否要带
- JavaScript&&css的优化
- 样式表置顶--脚本表置底
- 外部引入文件
- 避免css表达式
- link替代@import 因为@import相当于将css放到底部
- 避免Fliters
- 避免重复代码
- Javascript代码优化 减少空格和注释
- 图片
- 压缩图片使用Sprite技术 -- 水平排列 ,颜色接近的排在一起 ,
- favcion.ico 浏览器会去读取这个图片 --确保存在,小 <1k ,过期时间设置较长
- cookie
- 减少cookie的大小和控制cookie污染
去除没有必要的cookie 存在请求头中
cookie<=4k 尽量减小cookie的使用
合理使用cookie的生命周期
2. 页面内容是用无域名cookie
静态页面资源不需要cookie,可以使用domain单独存放这些静态文件,有些proxy拒绝缓存带有cookie的内容,如果能将这些静态资源cookie去除,那就可以得到这些 proxy的缓存支持。
- 标签的优化
1.<title>标题:只强调重点即可,尽量把重要的关键词放在前面,关键词不要重复出现,尽量做到每个页面的<title>标题中不要设置相同的内容。
2.<meta keywords>标签:关键词,列举出几个页面的重要关键字即可,切记过分堆砌。
3.<meta description>标签:网页描述,需要高度概括网页内容,切记不能太长,过分堆砌关键词,每个页面也要有所不同。
4.<body>中的标签:尽量让代码语义化,在适当的位置使用适当的标签,用正确的标签做正确的事。让阅读源码者和“蜘蛛”都一目了然。比如:h1-h6 是用于标题类的, <nav>标签是用来设置页面主导航的等。
5.<a>标签:页内链接,要加 “title” 属性加以说明,让访客和 “蜘蛛” 知道。而外部链接,链接到其他网站的,则需要加上 el="nofollow" 属性, 告诉 “蜘蛛” 不要爬,因 为一旦“蜘蛛”爬了外部链接之后,就不会再回来了。
- 移动客户端
保持单个内容小于25kb
参考文章:
http://blog.csdn.net/grandpang/article/details/51329289
http://www.cnblogs.com/EnSnail/p/5671345.html
http://www.qdfuns.com/notes/18892/168da392c447a172d3dd0d8e1754ca48.html
http://www.cnblogs.com/lei2007/archive/2013/08/16/3262897.html
http://www.cnblogs.com/ricoliu/p/6090290.html
web前端性能优化问题的更多相关文章
- web前端性能优化指南(转)
web前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络 ...
- Web前端性能优化教程09:图像和Cookie优化
本文是Web前端性能优化系列文章中的第九篇,主要讲述内容:图像和Cookie优化.完整教程可查看: 一. 图像优化 图像基础知识 gif: 适用于动画效果,例如提示的滚动条图案 jpg: 是一种使用 ...
- Web前端性能优化教程06:减少DNS查找、避免重定向
本文是Web前端性能优化系列文章中的第六篇,主要讲述内容:减少DNS查找.避免重定向.完整教程可查看: 一.减少DNS查找 基础知识 DNS(Domain Name System): 负责将域名UR ...
- Web前端性能优化教程08:配置ETag
本文是Web前端性能优化系列文章中的第五篇,主要讲述内容:配置ETag.完整教程可查看:Web前端性能优化 什么是ETag? 实体标签(EntityTag)是唯一标识了一个组件的一个特定版本的字符串, ...
- Web前端性能优化教程05:网站样式和脚本
本文是Web前端性能优化系列文章中的第五篇,主要讲述内容:网站样式和脚本代码的放置位置.使用外部javascript和css.完整教程可查看:Web前端性能优化 一.将样式表放在顶部 可视性回馈的重要 ...
- Web前端性能优化教程03:添加Expires头
本文是Web前端性能优化系列文章中的第三篇,主要讲述添内容:加Expires头.完整教程可查看:Web前端性能优化 什么是Expires头? Expires存储的是一个用来控制缓存失效的日期.当浏览器 ...
- Web前端性能优化教程04:压缩组件
本文是Web前端性能优化系列文章中的第四篇,主要讲述内容:压缩组件.完整教程可查看:Web前端性能优化 基础知识 gzip编码:gzip是GUNzip的缩写,是使用无损压缩算法的一种,最早是用于Uni ...
- Web前端性能优化教程07:精简JS 移除重复脚本
本文是Web前端性能优化系列文章中的第七篇,主要讲述内容:精简Javascript代码,以及移出重复脚本.完整教程可查看: 一.精简javascript 基础知识 精简:从javascript代码中 ...
- WEB前端性能优化:HTML,CSS,JS和服务器端优化
对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不纯粹是指用户访问网站的速度,也包括开发的效率,这里我总结下我理解中的WEB前 ...
- Web前端性能优化的9大问题
1.请减少HTTP请求基本原理:在浏览器(客户端)和服务器发生通信时,就已经消耗了大量的时间,尤其是在网络情况比较糟糕的时候,这个问题尤其的突出.一个正常HTTP请求的流程简述:如在浏览器中输入&qu ...
随机推荐
- bzoj usaco 金组水题题解(2)
续.....TAT这回不到50题编辑器就崩了.. 这里塞40道吧= = bzoj 1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害 比较经典的最小割?..然而 ...
- 2017ICPC/广西邀请赛1005(水)HDU6186
CS Course Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- Monthly update for Dynamics 365 for Operation
日期 标题, 类别 版本 描述 2017/8/22 Dyn 365 Fin and Ops, Ent ed July 2017 Plat Update 10 Category: Download ...
- spring boot容器启动详解
目录 一.前言 二.容器启动 三.总结 =======正文分割线====== 一.前言 spring cloud大行其道的当下,如果不了解基本原理那么是很纠结的(看见的都是约定大于配置,但是原理呢?为 ...
- 番外篇--Moddule Zero 版本管理与组织单位管理
Moddule Zero 版本管理 2.2.1 简介 大多数SaaS(多租户)应用都会有多个版本(包),这些版本的功能点也会各不相同.因此,他们能够为他们的租户(客户)提供不同的价格和功能点选项. 关 ...
- Spark算子--flatMapValues
转载请标明出处http://www.cnblogs.com/haozhengfei/p/e7a46cecc65720997392516d553d9891.html flatMapValues--Tra ...
- yourphp常用标签
方法/步骤 1 引入页面: 首页链接:{$site_url} 英文首页{$site_url}/en 面包屑导航: {:L(catpos)} {:L(home_font)} > 幻灯 ...
- LAMP和LNMP,你更愿意选择谁,为什么?
https://www.zhihu.com/question/19697826 http://www.simongong.net lamp 的全称是linux + apache + mysql +ph ...
- Anaconda入门教程
Anaconda入门教程 [TOC] Anaconda是什么 Anaconda附带了 conda.Python 和 150 多个科学包及其依赖项.应用程序 conda 是包和环境管理器.Anacond ...
- phpwind9.0升级到php7后出现的问题修复
最近将一个两年多以前的用phpwind9.0搭建的论坛升级到php7,遇到了页面无法打开,显示为500错误,排查了一整天时间,终于解决! 1.打开文件:src/applications/appcent ...