Web 前端性能优化相关内容,来源于《Google官方网页载入速度检测工具PageSpeed Insights 使用教程》一文中PageSpeed Insights 的相关说明。大家可以对照着去优化自己的网站或者相关项目。本文由Jeff 整理。

0.提高服务器的响应速度

砸钱的东西,但却最根本;搞好这一项,甚比下面任何一项。

1.优化样式表和脚本的排列顺序

正确地排列外部样式表与外部和内嵌脚本的顺序,可增加下载时同时加载的数据量,并提高浏览器显示网页的速度。

将样式表放在顶部,将脚本放在底部

2.使用浏览器缓存

在 HTTP 标头中为静态资源设置有效期或最长存在时间(Google建议最短为一周,最好能达一年左右,⊙﹏⊙b汗),可指示浏览器从本地磁盘中加载以前下载的资源而不是从网络中加载。

3.使目标网页重定向可缓存

许多网页都会将用户重定向至不同的网址,例如:从 www.example.com 重定向至 m.example.com。使这些重定向信息可缓存到用户的浏览器中,可加快访问者多次访问同一网站时的网页加载速度。

4.内嵌小型 CSS

将小型样式表内嵌到主 HTML 网页中,可减少在下载其他资源时的往返时间 (RTT) 和延迟时间。

5.内嵌小型 JavaScript

将小型 JavaScript 文件内嵌到主 HTML 网页中,可减少在下载其他资源时的往返时间 (RTT) 和延迟时间。

6.压缩 CSS

压缩 CSS 代码可以节省大量的数据字节空间,并提高下载、解析和执行的速度。

7.压缩 HTML

压缩 HTML 代码(包括其中所含的任何内嵌 JavaScript 和 CSS)可节省大量的数据字节空间,并提高下载、解析和执行的速度。

8.压缩 JavaScript

压缩 JavaScript 代码可以节省大量的数据字节空间,并提高下载、解析和执行的速度。

9.启用 Keep-Alive

有效地降低TCP握手的次数,减少httpd进程数,降低内存的使用

10.启用压缩

使用 gzip 或 deflate 压缩资源,可减少通过网络发送的字节数。

11.将图片组合为 CSS 贴图定位

尽量减少使用 CSS 贴图定位合并图片后的文件数量,可减少在下载其他资源时的往返时间和延迟时间、节省请求开销,并减少网页下载的总字节数。

12.将查询字符串从静态资源中删除

在 HTTP 标头中为静态资源启用公共缓存,可让浏览器从附近的代理服务器中下载资源,而不必从远程原始服务器中下载。

13.尽量减少请求的数据量

尽量减少 Cookie 和请求标头的大小,可确保将 HTTP 请求放入单个数据包中。

14.尽量减少重定向

尽量减少从一个网址到另一个网址的 HTTP 重定向次数,以减少额外的往返时间 (RTT) 和用户等待的时间。

15.指定图片大小

为所有的图片指定宽度和高度,可消除进行不必要重排与重绘的需求,从而加快图片的显示速度。

16.提供压缩后的图片

适当地调整图片的大小,可节省大量的数据字节空间。

17.由同一网址提供资源

通过唯一的网址发布资源,这样才能避免下载重复的字节以及产生额外的往返时间 。

18.请指定一个“Vary: Accept-Encoding”标头

指示代理服务器缓存资源的两个版本:压缩版与未压缩版。这样有助于避免公共代理无法正确检测 Content-Encoding 标头的问题。

19.请指定缓存验证工具

通过指定缓存验证工具(Last-Modified 或 ETag 标头),您可以确保系统能够有效地确定缓存资源的有效性。

20.避免出现错误的请求

删除“已损坏的链接”或会导致 404/410 错误的请求,可避免发出无效的请求。

21.首选异步资源

错开资源的加载时间可减小网页加载时出现资源堵塞的概率。

22.避免在 CSS 中使用 @import

在外部样式表中使用 CSS @import 会增加网页加载时的延迟。

23.暂缓 JavaScript 解析

通过最大程度地减少显示网页所需的 JavaScript 数据量,并暂缓解析不需要的 JavaScript(等到需要执行时再进行解析),您可以提高网页的初始加载速度。

24.优化图片

适当地设置图片的格式并进行压缩,可节省大量的数据字节空间。

25.指定字符集

尽早为您的 HTML 文档指定字符集,可让浏览器立即开始执行脚本。

26.避免在meta 标签中指定字符集

27.合并CSS、JavaScript文件

减少HTTP请求的数量

相关阅读:

http://developer.yahoo.com/performance/rules.html

Web 前端性能优化相关内容解析的更多相关文章

  1. Web 前端性能优化相关内容解析[转]

    Web 前端性能优化相关内容,来源于<Google官方网页载入速度检测工具PageSpeed Insights 使用教程>一文中PageSpeed Insights 的相关说明.大家可以对 ...

  2. Web前端性能优化的9大问题

    1.请减少HTTP请求基本原理:在浏览器(客户端)和服务器发生通信时,就已经消耗了大量的时间,尤其是在网络情况比较糟糕的时候,这个问题尤其的突出.一个正常HTTP请求的流程简述:如在浏览器中输入&qu ...

  3. 网站的高性能架构---Web前端性能优化

    网站性能测试 不同视角下的网站性能 用户视角的网站性能:从用户角度,网站性能就是用户在浏览器上直观感受到的网站响应速度.用户的感受时间包括用户计算机和网站服务器通信的时间.网站服务器处理请求时间.用户 ...

  4. Web前端性能优化全攻略

    网页制作poluoluo文章简介:Web 前端性能优化是个大话题,是个值得运维人员持续跟踪的话题,是被很多网站无情忽视的技术. Web 前端性能优化是个大话题,是个值得运维人员持续跟踪的话题,是被很多 ...

  5. Web前端性能优化全攻略[转载]

    1. 尽量减少 HTTP 请求 (Make Fewer HTTP Requests) 作为第一条,可能也是最重要的一条.根据 Yahoo! 研究团队的数据分析,有很大一部分用户访问会因为这一条而取得最 ...

  6. web前端性能优化的技巧

    1. 请减少HTTP请求 基本原理: 在浏览器(客户端)和服务器发生通信时,就已经消耗了大量的时间,尤其是在网络情况比较糟糕的时候,这个问题尤其的突出. 一个正常HTTP请求的流程简述:如在浏览器中输 ...

  7. Web前端性能优化教程05:网站样式和脚本

    本文是Web前端性能优化系列文章中的第五篇,主要讲述内容:网站样式和脚本代码的放置位置.使用外部javascript和css.完整教程可查看:Web前端性能优化 一.将样式表放在顶部 可视性回馈的重要 ...

  8. WEB前端性能优化:HTML,CSS,JS和服务器端优化

    对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不纯粹是指用户访问网站的速度,也包括开发的效率,这里我总结下我理解中的WEB前 ...

  9. WEB前端性能优化小结

    转:http://www.gafish.net/archives/1514 对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不 ...

随机推荐

  1. hue简单介绍

    hue定义: HUE=Hadoop User Experience 个人理解:可视图的webui界面,方便大数据技术之间的CRUD操作. 官方定义:Hue是一个能够与Apache Hadoop交互的W ...

  2. Fiddler基础教程

    一.Fiddler的基本介绍 Fiddler的官方网站:  www.fiddler2.com Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料. Fiddler ...

  3. java web项目中引入spring

    自己动手实践了一次,发生中间出了一下问题,现整理出来,供参考. Step1: 新建一个java web项目 Step2:下载spring的jar包http://repo.spring.io/libs- ...

  4. 关于sys.dm_exec_requests

    我知道SQL Server有很多视图和函数让我来了解SQL Server的运行状态.我还想知道SQL Server上关于来自用户或者应用的活动请求信息.怎么查询这些信息呢? SQL Server的动态 ...

  5. java开发初识

    jdk目录相关介绍: bin:存放的是java的相关开发工具 db:顾名思义jre附带的轻量级数据库 include:存放的是调用系统资源的接口文件 jre:java的运行环境 lib:核心的类库 s ...

  6. ZT CSDN 如何以最快的速度计算出一个二进制数中1的个数? [

    一道算法面试题:如何以最快的速度计算出一个二进制数中1的个数? [问题点数:10分,结帖人weicai_chen] 收藏 weicai_chen weicai_chen 等级: 结帖率:95.12% ...

  7. ZT 二叉树先序,中序,后序遍历非递归实现

    二叉树先序,中序,后序遍历非递归实现 分类: 数据结构及算法2012-04-28 14:30 8572人阅读 评论(6) 收藏 举报 structc 利用栈实现二叉树的先序,中序,后序遍历的非递归操作 ...

  8. ES6中map和set用法

    ES6中map和set用法 --转载自廖雪峰的官方网站 一.map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Arra ...

  9. python3 装饰器全解

    本章结构: 1.理解装饰器的前提准备 2.装饰器:无参/带参的被装饰函数,无参/带参的装饰函数 3.装饰器的缺点 4.python3的内置装饰器 5.本文参考 理解装饰器的前提:1.所有东西都是对象( ...

  10. 【译文】MySQL InnoDB 使用的锁分析

    InnoDB 使用的 锁类型 共享锁和排它锁 意向锁 记录锁 间隙锁 Next-key 锁 插入意向锁 AUTO-INC 锁 共享锁和排他锁 InnoDB实现了俩个标准的行级锁,共享锁和排它锁. 共享 ...