高并发大流量专题---3、前端优化(减少HTTP请求次数)
高并发大流量专题---3、前端优化(减少HTTP请求次数)
一、总结
一句话总结:
图片地图:使用<map><area></area></map>标签。图片地图允许你在一个图片上关联多个URL。目标URL的选择取决于用户单击了图片上的哪个位置。
CSS Sprites:SS Sprites中文翻译为CSS精灵,通过使用合并图片,通过指定css的backgroud-image和backgroud-position来显示元素。
合并脚本和样式表:使用外部的js和css文件引用的方式,因为这要比直接写在页面中性能要更好一点。把多个脚本合并为一个脚本,把多个样式表合并为一个样式表
图片使用Base64编码减少页面请求数:采用Base64的编码方式将图片直接嵌入到网页中,而不是从外部载入
1、为什么要减少HTTP请求?
性能黄金法则:只有10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片,script,css,flash等等)进行的HTTP请求上。
HTTP连接产生开销:域名解析--TCP连接--发送请求--等待--下载资源--解析时间
2、http1.1是Keep-Alive,为什么还需要减少HTTP请求?
HTTP1.1协议请求只能串行发送:HTTP1.1协议规定请求只能串行发送,也就是说一百个请求必须依次逐个发送,前面的一个请求完成才能开始下个请求
虽然不会花费tcp三次握手时间:但是本身是串行请求
3、已经有了DNS缓存,为什么我们还是要 减少HTTP请求?
查找DNS缓存也需要时间:多个缓存就要查找多次,也有可能缓存会被清除
4、减少HTTP请求的方式的本质?
减少组件的数量:改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量。
5、减少HTTP请求的方式?
图片地图:使用<map><area></area></map>标签。图片地图允许你在一个图片上关联多个URL。目标URL的选择取决于用户单击了图片上的哪个位置。
CSS Sprites:SS Sprites中文翻译为CSS精灵,通过使用合并图片,通过指定css的backgroud-image和backgroud-position来显示元素。
合并脚本和样式表:使用外部的js和css文件引用的方式,因为这要比直接写在页面中性能要更好一点。把多个脚本合并为一个脚本,把多个样式表合并为一个样式表
图片使用Base64编码减少页面请求数:采用Base64的编码方式将图片直接嵌入到网页中,而不是从外部载入
6、backgroud-position属性 使用注意?
右下都是负
backgroud-position:x y;x和y可以写负值也可以写正值,我们可以想象图片的左上方为(0,0),以(0,0)坐标向右是为负数的x轴,以(0,0)坐标向下是为负数的y轴。
7、图片地图与CSS精灵 的优化的性能 的量级?
快50%以上:图片地图与CSS精灵的响应时间基本上相同,但比使用各自独立图片的方式要快50%以上
8、独立的一个js比用多个js文件组成的页面 性能量级?
快38%:独立的一个js比用多个js文件组成的页面载入要快38%
二、内容在总结中
高并发大流量专题---3、前端优化(减少HTTP请求次数)的更多相关文章
- 高并发大流量专题---10、MySQL数据库层的优化
高并发大流量专题---10.MySQL数据库层的优化 一.总结 一句话总结: mysql先考虑做分布式缓存,过了缓存后就做mysql数据库层面的优化 1.mysql数据库层的优化的前面一层是什么? 数 ...
- 高并发大流量专题---11、Web服务器的负载均衡
高并发大流量专题---11.Web服务器的负载均衡 一.总结 一句话总结: 推荐使用nginx七层(应用层)负载均衡的实现:配置那是相当的简单 http{ upstream cluster{ serv ...
- 高并发大流量专题---5、CDN加速
高并发大流量专题---5.CDN加速 一.总结 一句话总结: CDN就是多整几台节点服务器,选距离用户最近的服务器来给用户服务,实现的话可以用阿里云.腾讯云他们提供的功能,简单方便,妈妈再也不用担心我 ...
- nodejs高并发大流量的设计实现,控制并发的三种方法
nodejs高并发大流量的设计实现,控制并发的三种方法eventproxy.async.mapLimit.async.queue控制并发Node.js是建立在Google V8 JavaScript引 ...
- php解决与处理网站高并发 大流量访问的方法
方法/步骤 首先,确认服务器硬件是否足够支持当前的流量 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么 ...
- [原创]lvs+ospf+nginx实现高可用大流量web架构
lvs+ospf+nginx实现高可用大流量web架构配置总概述 架构图: 配置如下: .quagga之zebra配置: # cat /etc/quagga/zebra.conf ! ! Zebra ...
- MySQL在大数据、高并发场景下的SQL语句优化和"最佳实践"
本文主要针对中小型应用或网站,重点探讨日常程序开发中SQL语句的优化问题,所谓“大数据”.“高并发”仅针对中小型应用而言,专业的数据库运维大神请无视.以下实践为个人在实际开发工作中,针对相对“大数据” ...
- Java高并发情况下的锁机制优化
本文主要讲并行优化的几种方式, 其结构如下: 锁优化 减少锁的持有时间 例如避免给整个方法加锁 1 public synchronized void syncMethod(){ 2 othercode ...
- Nginx高并发实现原理以及常用的优化手段
Nginx 是如何实现高并发的? 异步,非阻塞,使用了epoll 和大量的底层代码优化. 如果一个server采用一个进程负责一个request的方式,那么进程数就是并发数.正常情况下,会有很多进程一 ...
随机推荐
- hdu6228Tree
Problem Description Consider a un-rooted tree T which is not the biological significance of tree or ...
- php优化方法
代码优化是开发程序和网站必不可少的一步,代码优化好了,可以大大增加程序的运行效率.使网站或程序加载反应更快.用户体验也就会更好.下面就为大家总结了50条PHP代码优化技巧. 1. 用单引号代替双引号来 ...
- git报错-Initial commit Untracked files nothing added to commit but untracked ……
文章转自 https://www.jianshu.com/p/61c3db30d488 在目标执行命令 git stratus 报错 根据上面的文章,可以解决问题.不行的话,请留言. 感谢你的阅读
- docker hub 本地镜像登录
docker的登录信息存放在home目录下的.docker文件夹下,查看 cat ~/.docker/config.json { "auths": { "gcyimgs. ...
- 安装go版本
下载地址(官网):https://golang.org/dl/ 下载地址(国内):https://dl.gocn.io/ 想编译GO,必须先有一个GO的编译器. 创建GO的编译器:[root@node ...
- [ARC083]Collecting Balls
Description 有一个 \(n\times n\) 的矩阵,矩阵内有 \(2n\) 个球.对于 \(i \in [1,n]\) ,\((0,i) (i,0)\) 的位置各有一个启动后往右走/往 ...
- [Codeforces 997C]Sky Full of Stars(排列组合+容斥原理)
[Codeforces 997C]Sky Full of Stars(排列组合+容斥原理) 题面 用3种颜色对\(n×n\)的格子染色,问至少有一行或一列只有一种颜色的方案数.\((n≤10^6)\) ...
- python学习第三十天函数的形参,实参及函数文档
python函数的形参是定义函数def 函数名 小括号里面的变量,实参是调用函数时候的值,函数文档是提供函数功能的开发文档,下面 详细说明系列方法 1,函数的形参 def chan(name): pr ...
- OpenLayers绘制地图,无需外网,内网访问,提高安全性。
1. 首先引入ol ,npm i --save ol 2. 创建地图 一个地图初步就这样完成了. 3. 怎么与后台进行交互? 具体参考文档:http://weilin.me/ol3-primer/ch ...
- CSRF相关
CSRF原理 第一次获取页面的时候浏览器返回一个随机字符串,之后提交数据的时候需要把到这个字符串去提交,不然会报错 返回的时候还会把这个字符串放到cookie里面, 使用form提交时候: {% cs ...