客户端·优化

标签: 客户端 优化 | 发表时间:2012-11-25 18:57 | 作者:八神吻你
出处:http://www.cnblogs.com/

网络连接和初始HTTP请求
浏览器检索网页,先从URL开始,使用DNS确定IP地址,再用基于TCP和HTTP协议连接到服务器,请求相关的内容,得到相应,浏览器解析并呈现到屏幕上。
服务器响应后,浏览器响应不会同时全部到达,会陆续到达,有时候之间还会有时间间隔。
页面解析和新的资源请求浏览器等待数据包时,会解析得到包,并寻找可用新的HTTP请求,并启动,每一个服务器,浏览器一般最多同时打开两个请求连接。
一般一次请求:
1、DNS解析IP地址的时间
2、读取主页面时间:连接服务器,发送HTTP get请求,接受初始的HTTP响应时间,和盛余响应到达时间
3、检查图片等其他资源,连接时间,请求并接受所需要的时间
浏览器接受HTML响应时,就开始一边接受,一边解析,当解析到需要打开其他请求的资源时,会并行打开这个资源的请求,所以像这样的资源放在HTML的顶部比放在底部呈现的速度是不一样的,在顶部更快,一般在HTML中的前500个字节中,放置这样订单请求,是一个很好的加速方法。
页面资源顺序
浏览器呈现HTML中的<body>元素之前,会先请求<head>中内容,在head所以资源下载完成之前,用户不会看到呈现的内容,所以尽可能将一些请求放在body内,这样呈现页面和加载资源并行进行,从而缩短页面的呈现时间。随着html解析,页面中引用的资源,会按照html中的出现的顺序进行排队。同一台服务器,最多打开两个连接,所以多于2个的资源会被压入等待队列里面。
但是有时候我们页面中顶部有大幅banner,哦我们不希望在一开始去请求这样的资源,影响到后面重要的内容的呈现,我们可以使用延迟加载技术:
例如

<img id="myimg" with="50" heigth="50">
...
<script type="text/script">
document.getItemById("myimg").src="myimg.jpg";//会让浏览器请求这个图
</script>

图片标签应该制定宽和高,可以减少呈现时间。
我们还可以提前加载:

<script type="text/script">
var myimg = new img();
myimg="myimg.jpg";//会让浏览器请求这个图
</script>
...
<img src="myimg.jpg" id="myimg" with="50" heigth="50">

分配Image对象,设置src属性,即会开始请求图片,在<img>中只要再次使用相同的文件就可以了,浏览器会缓存这个图片。
浏览器缓存
浏览器缓存是区分大小写的,如果引用相同对象,URL大小写不同,浏览器会多次下载相同的对象。
所以我们强制所以的URL都使用小写。
网络优化:每一个域名最多同时打开两个连接,页面上同时请求同一个域名下的多个资源会进入等待队列中,同时只能打开两个连接,其余等待。改善的方法是,将图片放入不同的子域名中,可以在同一时间并行打开所有连接,但是一个新的连接是有开销的,我们一般从2-4个域名中加载内容。
脚本文件处理浏览器连接请求javascript资源,并会一个一个获取他们,在脚本文件被请求期间,其他的请求进入等待队列,但是在javascript资源请求之前,已经有其他的资源正在请求,script不会打断,只会打断后面的请求。所以我们尽可能的合并脚本。
使用页面onload处理器,和延迟加载来执行后期请求

<body onload="lateImage()">
<img id="myimg" with="50" heigth="50">
...
<script type="text/script">
function lateImage()
{
    document.getItemById("myimg").src="myimg.jpg";//会让浏览器请求这个图
}
</script>

 


 

本文链接

相关 [客户端 优化] 推荐:

客户端·优化

- - 博客园_首页
网络连接和初始HTTP请求. 浏览器检索网页,先从URL开始,使用DNS确定IP地址,再用基于TCP和HTTP协议连接到服务器,请求相关的内容,得到相应,浏览器解析并呈现到屏幕上. 服务器响应后,浏览器响应不会同时全部到达,会陆续到达,有时候之间还会有时间间隔. 页面解析和新的资源请求浏览器等待数据包时,会解析得到包,并寻找可用新的HTTP请求,并启动,每一个服务器,浏览器一般最多同时打开两个请求连接.

oracle如何获得客户端sql执行计划以便优化sql(三)

- - CSDN博客数据库推荐文章
oracle如何获得客户端sql执行计划以便优化sql.    今天是2013-09-25日,继续学习sql优化这一部分,在之前写过怎么获得sql的执行计划两篇笔记. 虽然笔记有点粗糙,但是如果耐心看,还是发现点东西的.   也就是刚刚学习的一个系统包dbms_system中几个procedure的使用:.

基于HTTP缓存轻松实现客户端应用的离线支持及网络优化

- - Oasis Feng
常规的客户端应用开发实践中,为了支持离线特性,往往需要引入本地数据存储并增加相应的『离线状态』逻辑分支. 本地存储的大量使用对数据结构的前后向兼容设计提出了很高的要求,一旦考虑不足,往往不得不引入复杂的版本间数据升降级处理,进一步加剧开发和维护成本. 而且针对『离线』与『在线』状态这两条并行的处理分支,对业务逻辑的清晰性和可维护性有一定的破坏,常常容易在后续开发中造成处理遗漏,给测试和维护带来更多的痛苦.

Android客户端性能优化(魅族资深工程师毫无保留奉献)

- - CSDN博客推荐文章
本文由魅族科技有限公司资深Android开发工程师degao(嵌入式企鹅圈原创团队成员)撰写,是degao在嵌入式企鹅圈发表的第一篇原创文章,毫无保留地总结分享其在领导魅族多个项目开发中的Android客户端性能优化经验,极具实践价值. 即日起,嵌入式企鹅圈将在之前五个专栏(Linux内核驱动情景分析、资源紧缺型SOC嵌入式架构设计、嵌入式交叉工具链及其应用、嵌入式设计和编程、微信硬件平台和物联网解决方案)新增Android开发专栏.

HBase客户端访问超时原因及参数优化_Fang的博客-CSDN博客

- -
默认的HBase客户端的参数配置是没有做过优化的,所以对于低延时响应的HBase集群,需要对客户端的参数进行优化. 以毫秒计算的所有HBase RPC超时,默认为60s. 该参数表示一次RPC请求的超时时间. 如果某次RPC时间超过该值,客户端就会主动关闭socket. 如果经常出现java.io.IOException: Connection reset by peer异常问题,估计HBase集群出现了大量高并发读写业务或者服务器端发生了比较严重的Full GC等问题,导致某些请求无法得到及时处理,超过了设置的时间间隔.

MongoDB 客户端 MongoVue

- - haohtml's blog
今天在同事那里看到了一个很不错的MongoDB的客户端工具MongoVue,地址是 http://www.mongovue.com/. 做的不错,1.0版本的开始收费了,费用也不贵才35$. 真正需要的同学可以掏点钱买个吧,也算是支持这个工具,如果只是学习研究用的话我这里还有一个0.9.7版本,虽然比起1.0版来说有些bug,平常使用也够了,需要的同学可以单独联系我.

[转]memCached 客户端

- - 小鸥的博客
memcache客户端下载. 许多Web应用都将数据保存到DBMS中,应用服务器从中读取数据并在浏览器中显示. 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响. memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件.

BitCoin for Ubuntu 11.04 客户端

- Riku - Wow! Ubuntu
BitCoin 最近很热,大量的媒体、Blog ,甚至叽喳上都在谈论此物. 那么 BitCoin 到底为何物. [以下引用自 ivarptr 的文章,详情请看“通俗易懂讲解什么是 Bitcoin 虚拟货币”一文]. Bitcoin (为了便于书写和理解,下面如果是表示 “Bitcoin币”意思的地方我称呼其为“贝壳币”,取粤语相近的音译)是一种网络虚拟货币,跟腾讯公司的Q币类似,你可以使用贝壳币购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用贝壳币购买现实生活当中的物品.

GClient – Google+ 桌面客户端

- 闷闲居士 - 软件街
就是一个SNS社交网站,在这个社交网站上你可以和不同兴趣的好友分享好玩的东西. Google+ 在网络上占着举足轻重的地位,G粉整天挂着浏览器,随时观看有没有新的通知,这样还是蛮累滴,如果有G+桌面客户端那多方便. 没错就是有这么一款 Google+ 桌面工具:GClient,支持通知新信息,还可以直接在桌面玩转Google+ ….

叽喳客户端 Polly

- We_Get - Wow! Ubuntu
Linux 平台上的叽喳客户端我们介绍过很多,比如 Hotot ,Pino,Twip 等等. 现在要介绍的 Polly 是款全新的叽喳客户端,目前还处于 pre-alpha 阶段,它的主要功能如下:. 与 Messaging Menu 整合. # Ubuntu 11.04 及 11.10 用户安装.