Yahoo 军规(部分)
1、尽量减少HTTP的请求次数
网站中的图片,文字,样式表等内容都是从服务器端请求过来的。如果项目中有多个脚本,多个样式表需要加载,尽量将他们合并在一个CSS、JS文件中。
2、将CSS放在页面最上面
3、将script放在页面最下面
4、避免在CSS中使用CSS expression
5、将JS和CSS放到外部文件中
JS一般情况下有两种放置的方法,这两种方法各有各的优点。
一、将JS写在页面内部:
(1)减少页面请求数
(2)提升页面渲染速度
二、将JS提取出来:
(1)提高了JS和CSS的复用性
(2)减少了页面体积,同时脚本文件和样式表可以被浏览器单独缓存
(3)提高了JS和CSS的可维护性
(1)增加了对服务器的请求数(特别是在文件比较多的情况下)
什么时候应该将JS和CSS写在页面内部?
(1)当某个JS和CSS只应用于一个页面的时候
(2)不经常被访问到的页面
(3)脚本和样式很少的情况下(20行以内)
6、最小化JavaScript和CSS
1、去除不必要的空格,格式符,注释符
2、简写方法名、参数名压缩JS脚本
7、避免重定向(用户的原始请求被重新转向了其他地址)
8、移除重复的脚本
9、配置实体标签(ETag=>Entity Tag )
当浏览器向服务器请求资源的时候,服务器会进行比较。如果两边的Etag一致,则表示该资源没有被修改,和以前是一样的。服务器会返回 304,告诉浏览器可以使用本地的缓存。帮助服务器减轻负担。
10、使用AJAX缓存
post:每次都执行,不被缓存
get:同一地址不重复执行,可以被缓存
页面的加载顺序:
Yahoo 军规(部分)的更多相关文章
- 四、优化及调试--网站优化--Yahoo军规上
什么是Yahoo军规?即如何提高网站速度的知识. 具体如下: 1.尽量减少HTTP请求个数——须权衡 什么是http请求:从客户端到服务器端的请求消息.包括消息首行中,对资源的请求方法,资源的标识符及 ...
- javaEE(web)SEO优化 Yahoo军规
javaEE(web)SEO优化 Yahoo军规 1.尽可能减少HTTP请求数2.使用CDN3.添加Expire/Cache-Control头4.启用Gzip压缩5.将CSS房在页面最上方6.将Scr ...
- 前端性能优化---yahoo军规
一.尽可能减少HTTP请求数 二.使用CDN(内容分发网络) 三.添加Expire/Cache-Control头 四.启用Gzip压缩 五.将CSS放在页面最上面 六.将Script放在页面最下面 七 ...
- Yahoo军规
一.尽可能的减少HTTP请求 每一个图片,文字,js文件,css文件都是一个请求. 可以通过合并来请求来减少HTTP请求 比如:图片为一个请求,js文件为一个请求,css为一个请求 二.使用CDN C ...
- 四、优化及调试--网站优化--Yahoo军规下
21.根据域名划分页面内容 很显然, 是最大限度地实现平行下载 22.尽量减少iframe的个数 考虑即使内容为空,加载也需要时间,会阻止页面加载,没有语意,注意iframe相对于其他DOM元素高出1 ...
- 四、优化及调试--网站优化--Yahoo军规中
8.避免使用CSS表达式(避免在CSS中使用Expressions) 什么是CSS表达式:是用来把CSS属性和JavaScript关联起来.
- 性能优化-YAHOO军规
1.尽可能减少http请求数量 2.使用CDN 3.添加Expire/Cache-Control头 4.启用Gzip压缩 5.将css放在页面最上 6.将script放在页面最下 7.避免在CSS中使 ...
- Yahoo关于性能优化的N条军规
一. Yahoo的军规条例: 谨记:80%-90%的终端响应时间是花费在下载页面中的图片,样式表,脚本,flash等:详细的解释来这里查:http://developer.yahoo.com/perf ...
- Yahoo14条军规-前端性能优化
1.尽可能减少HTTP请求数 什么是http请求? 2.使用CDN(内容分发网络) 什么是CDN? 3.添加Expire/Cache-Control头 Expire Cache-Control 4.启 ...
随机推荐
- java 线程池 - ThreadPoolExecutor
1. 为什么要用线程池 减少资源的开销 减少了每次创建线程.销毁线程的开销. 提高响应速度 ,每次请求到来时,由于线程的创建已经完成,故可以直接执行任务,因此提高了响应速度. 提高线程的可管理性 ,线 ...
- vue城市选择组件
适用于vue的城市选择组件 仓库地址 基本功能: 支持全选.反选以及全部清空. 支持按拼音筛选. 勾选省份将会勾选省份下所有城市. 返回数据可灵活处理. 安装 npm install cn-regio ...
- 12、MA图的计算过程
为了简化问题,假设有3张芯片,每组数有9个探针: Data: 2,4,6,7,9,10,4,7,8,3 9,5,3,2,5,7,9,10,3,12 6,4,3,2,7,8,1,2,6,9 一.给3组数 ...
- mysql数据库常见错误代码列表
mysql出错代码列表1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1 ...
- C#获取局域网主机
C#获取局域网主机 最近在做一个使用MSRDPClient来实现远程桌面功能,需要先判断一下该局域网主机是否在线,所以就需要获取一遍局域网主机. 首先获取本地IP地址,这里需要注意的是,要排除掉虚拟机 ...
- window下git代码推送
https://blog.csdn.net/luosaosao/article/details/63684470
- 【洛谷P3723】礼物
题目大意:给定两个序列 A.B,现可以将 A 序列的每一个元素的值增加或减少 C,求 \(\sum\limits_{i=0}^{n-1}(a_i-b_{i+k})^2\) 的最小值是多少. 题解:先不 ...
- webpack4基础配置
网页中常见的静态资源: js: .js .jsx .coffee .ts(TypeScript 类 C# 语言) css: .css .less .sass .scss Images: .jpg .p ...
- linux常见的操作指令
一:非正确退出程序,再次启动显示端口被占用 netstat -ntulp n --- 显示ip代替网络接口信息,显示出网络连接情况 t --- 显示TCP协议的链接状况 u --- 显示UDP ...
- 解决jmeter 请求参数中文乱码
今天在用jmeter 写脚本时发现查看结果树request post请求中文参数值是乱码,故记录下解决过程. 解决过程如下: 1.修改本地配置文件 因为此处的数据,还没有发送出去,所以,肯定是这个变量 ...