高性能web开发之网络传输环节
1.减少请求数.
缓存,使用Expires等设置过期时间;如果内容没有过期,则不会发送请求
合并小体积的内容,比如将大量的小图片拼成一张图片,然后用CSS渲染(不要合并大体积的内容)
延迟加载;一些内容,比如图片,是在页面渲染的时候加载的(常用的是滚动条到了之后加载);减少不必要的请求
合并重复的内容和文件
考虑使用第三方CDN资源。例如,jQuery有一个免费的CDN。有些用户已经访问过其他网站的内容,所以我们的网站加载速度会更快(并使用CDN来减轻我们服务器的压力)
使用HTML5中的LocalStorage来保存数据
2.减少响应内容的体积.
只在适当的时候返回响应头304(HTTP缓存,如ETag等)
使用Gzip等压缩文件内容
使用免费的第三方工具压缩css、js、html文件的大小(比如我们常用的jquery.min.js)
适当使用Ajax操作
适当时,将样式、HTML和数据分开(数据量大时大大减小文件大小)
data
datanb
sp;样式保存在CSS文件中一些基本的小常识虽然有很多个li不用给每个li指定class
数据
◆使用JSON返回(如果觉得麻烦也可以嵌入在页面中)
◆选择体积更小的数据格式,例如JSON一般就比XML体积来的小(都经过压缩以后还是更小)
◆在设计上,只传送变化的部分数据(例如要获取100条数据,可能已经加载了90条,那么再加载10条就好了)
◆移除请求和响应中不必要的HTTPHeader(例如WCFRestfulservice中有的时候要传递表明当前数据是JSON还是XML的HTTPHeader)
◆部分功能,如压缩会消耗CPU,如ajax等会增加开发工作量,请谨慎选择
3.增加请求并发数.
◆RFC中,浏览器对于同一个域名下的资源只能使用2个线程同时进行访问(很多新的浏览器支持6个或者更多);解决方法是使用子域名,例如1.abc.com2.abc.com
◆将一个超大的文件(例如有些人喜欢吧整个网站的js都放在一个文件)拆成一系列的中小文件(有利于并发加载和缓存!)这个文件大小的Size选择很重要我个人建议是10k-200k(依赖于网络)
◆上一条并没有和1-2冲突,文件太小太多也不行,文件太少太大也不行,这是一个平衡的问题
◆通过分拆文件,使得最常用页面(例如首页)的加载速度变快了
◆控制加载顺序,例如先加载页面大体结构,然后多个javascript异步请求加载数据(把一个大的html变为多个小的html片段)
4.其他特殊技术.
◆利用HTTP1.1的长连接特性,使得在一定程度上,服务器可以主动推送数据(减少了很多不必要的轮询)
5.工具.
◆Fiddler(Free)
◆FiRedebug(Free)
◆HttpWatch
部分内容引用自MSDN和其他第三方文章..标签:北京网站制作高端网站建设
我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!
标签: 北京网站制作、 高性能Web开发之网络传输链路、本文地址: https://yihaiquanyi.com/article/59f1a5c00ed5d53c4132.html
上一篇:基于NodejsExpress北京网站制造Jscex开发的...