博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站开发的性能优化
阅读量:6584 次
发布时间:2019-06-24

本文共 763 字,大约阅读时间需要 2 分钟。

根据知乎朱建锋的回答整理;

链接:
https://www.zhihu.com/question/40505685

1.合并请求

原理:减少浏览器对服务器发起的请求数,从而减少在发起请求过程中花费的时间。

实现:合并JS、合并CSS以及合并小图片(也就是使用CSS精灵)等方式来减少请求。

具体:尽可能将js合成一个Js文件,css合成一个css,图片尽可能使用sprite图或者用iconfont替代。

2.域名拆分

原理:增加浏览器的并行下载,让浏览器能同时发起更多的请求。过多的域名会带来dns解析时间的损耗,3-5个为宜。

实现:将JS、CSS和图片分别使用三个域名加载;例如:

   分别是 、 、 ,地址为:
   在以上基础进行更多的拆分,如拆分为 、 、 、 、 、 、 、 、
 
3.开启GZIP
原理:Gzip是一种压缩技术,可以将资源在服务端进行压缩,然后发送给浏览器后再进行解压,这种方式会降低传输大小,提高网页加载性能。
实现:将资源在服务端进行压缩,然后发送给浏览器后再进行解压。
 
4.开启KeepAlive
原理:减少浏览器与服务器建立连接的次数,节省建立连接时间。
优缺点:开启KeepAlive可以较好的提高性能,但是开启KeepAlive也会使服务器负载变大,也更加容易遭受攻击,实际项目中需要权衡利弊。
 
5.Minify
原理:Minify指的是将JS和CSS等文本文件进行最小化处理,一般对于CSS来说就是去除空格去除换行去除注释等,对于JS,除了上述方法外,还可以进行变量名替换,将长变量名替换为短变量名。
实现:目前主流有webpack、gulp、uglify等工具。
 
如果按照分类:
 
 

 

转载于:https://www.cnblogs.com/BlueCc/p/7544241.html

你可能感兴趣的文章
IT基础架构规划方案之实际网络设计案例
查看>>
Navicat for MySQL 使用SSH方式链接远程数据库(二)
查看>>
poj 1274The Perfect Stall
查看>>
HDU 4720 Naive and Silly Muggles (外切圆心)
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
Ubuntu上运行Blender,在控制台上查看运行结果
查看>>
怎么检查网站的死链接呢?
查看>>
scrapy爬虫框架实例一,爬取自己博客
查看>>
React是UI的未来吗?
查看>>
中国人社部:2018年15个省(区、市)调整最低工资标准
查看>>
手把手教你通过Thrift 访问ApsaraDB for HBase
查看>>
MacOS安装MySQL 报错
查看>>
Java知识点总结(反射-反射操作泛型)
查看>>
Vue+webpack+Element 兼容问题总结
查看>>
《软技能》读书笔记(下)
查看>>
textarea文域高度自适应
查看>>
go语言renderer包代码分析
查看>>
【Scala谜题】成员声明的位置
查看>>
git最最最最...常用命令
查看>>
复杂recyclerView封装库
查看>>