前端性能优化方法: 一 . 减少http请求 (1)通过合并图片,减少请求,俗称css sprites(css精灵)css sprites (2)lazyload懒加载,在需要的时候再加载 1.定义:懒加载也称为延迟加载,图片需要用到的时候再去价值 2.用法:就是重写对象的get方法,当系统调用get方法再去加载对象 3.优点:(1)对象的实例化在getter方法中,各司其职,降低耦合性:(2)真正需要资源时,再去加载,系统的内存占用率会减小 (3)压缩/合并css和js 二 .减少repain…
当浏览器请求一个URL的时候,通过firebug我们可以发现大概有以下几个过程:阻挡.域名解析.建立连接.发送请求.等待响应.接收数据.后面四个跟用户的网络情况和你的服务器处理速度有关,本文重点说说前两个. 1.阻挡:解决方案——提高浏览器并发连接数 阻挡:不同的浏览器对单个域名的最大并发连接数有一定的限制,HTTP/1.0和HTTP/1.1也不相同.比如HTTP/1.1协议下,IE6的并发连接数限制是2个:而在HTTP/1.0下,IE6的并发连接数可以达到4个.在其它浏览器也有类似的限制,一般…
本文是Web前端性能优化系列文章中的第六篇,主要讲述内容:减少DNS查找.避免重定向.完整教程可查看:  一.减少DNS查找 基础知识 DNS(Domain Name System): 负责将域名URL转化为服务器主机IP. DNS查找流程:首先查看浏览器缓存是否存在,不存在则访问本机DNS缓存,再不存在则访问本地DNS服务器.所以DNS也是开销,通常浏览器查找一个给定URL的IP地址要花费20-120ms,在DNS查找完成前,浏览器不能从host那里下载任何东西. TTL(Time To Li…
性能黄金法则 只有10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片,script,css,flash等等)进行的HTTP请求上. 前言 有关前端性能优化的资料参考于<高性能网站建设>这本书,这一系列的文章可以看作是对这本书的阅读笔记. 改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量.接下来将探讨几个技术实现. 1. 图片地图 图片地图允许你在一个图片上关联多个URL.目标URL的选择取决于用户…
资源合并与压缩减少HTTP请求的概要 资源合并与压缩减少HTTP请求主要的两个优化点是减少HTTP请求的数量和减少请求资源的大小 http协议是无状态的应用层协议,意味着每次http请求都需要建立通信链路.进行数据传输,而在服务器端,每个http都需要启动独立的线程去处理. 这些通信和服务的开销都很昂贵,减少http请求的数量和减少请求资源的大小可有效提高访问性能 减少http的主要手段是合并CSS.合并JavaScript.合并图片.将浏览器一次访问需要的javascript和CSS合并成一个…
预解析的实现: 1. 用meta信息来告知浏览器, 当前页面要做DNS预解析:<meta http-equiv="x-dns-prefetch-control" content="on" /> 2. 在页面header中使用link标签来强制对DNS预解析: <link rel="dns-prefetch" href="http://baidu.com" /> 注:dns-prefetch需慎用,多页面…
问题:怎么做到dns域解析?   用于优化网站页面的图片   问题:怎么提升网站性能? dns域解析,是提升网站的一个办法.   DNS Prefetch,即DNS预获取,是前端优化的一部分. 一般来说,在前端优化中与 DNS 有关的有两点: 一.  是减少DNS的请求次数 二. 是进行DNS预获取 目前大多数浏览器已经支持此属性,支持版本如下: – Safari: 5+ – Chrome: All – Firefox: 3.5+ – Opera: Unknown – IE: 9+ (calle…
在网页体验中我们常会遇到这种情况,即在调用百度联盟.谷歌联盟以及当前网页所在域名外的域名文件时会遇到请求延时非常严重的情况.那么有没有方法去解决这种请求严重延时的现象呢? 一般来说这种延时的原因不会是对方网站带宽或者负载的原因,那么到底是什么导致了这种情况呢.假设是DNS的问题,因为DNS解析速度很可能是造成资源延时的最大原因.于是在页面header中添加了以下代码(用以DNS预解析): <meta http-equiv="x-dns-prefetch-control" cont…
CS架构:比如我们的代码开发好,打包成apk,发布到平台,那么最终怎么运行到用户的手机上呢,用户首先需要从相关的应用商城下载这个apk包,并且运行这个 apk 包,那么这个 apk 包就会被解压,最后运行在安卓的操作系统上.实际上对于最终访问的 app 来说呢,他访问的资源在安卓系统本地是有一份的.他访问的是本地的一些资源.这就是 CS 架构 BS架构:BS架构是不一样的,就好像 web 前端不一样的地方.我们开发完前端代码之后,也有一个发布的过程,这个跟 CS 架构不一样,他不是发布一个安装包…
写在前面 今天再看一同事写的代码,发现了这样<link rel="dns-prefetch" href="//hm.baidu.com">这个代码,很好奇查了一下才知道,dns-prefetch链接关系类型用于指示将用于获取所需资源的源,并且用户代理应该尽可能早地解析,可以提高网页的载入速度. 背景 在前端优化中与 DNS 的有关一般有两点: 一个是减少DNS的请求次数,另一个就是进行DNS预获取 .DNS作为互联网的基础协议,往往容易被网站优化人员忽略…