【PHP面试题】为什么要减少HTTP请求?

一、为什么要减少HTTP请求?

1、性能黄金法则

只有 10% ~ 20%的最终用户响应时间花在接收请求的HTML文档上,剩下的 80%~90%时间花在HTML文档所引用的所有组件(图片,script,CSS,flash等等)进行的HTTP请求上。


2、如何改善(即减少组件花费的响应时间)?

改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量;

HTTP连接产生的开销

域名解析——TCP连接——发送请求——等待——下载资源——解析时间

疑问?

  • DNS缓存:本身DNS解析是有DNS缓存的。

  • Keep-Alive:本身HTTP1.1版本默认是通过 Keep-Alive 方式进行操作的,在此过程中,不会去花费TCP握手的时间,但是本身在此过程中,我们的HTTP是串行请求的,它还是会浪费一定的时间。

打破谣言

  • 查找DNS缓存也需要时间,多个缓存就要查找多次有可能缓存会被清除;
  • HTTP1.1协议规定请求只能串行发送,也就是说一百个请求必须依次逐个发送,前面的一个请求完成才能开始下个请求(即会造成响应时间的影响)。

二、减少HTTP请求的方式

1、图片地图

  • 图片地图允许你在一个图片上关联多个URL。目标URL的选择取决于用户单击了图片上的哪个位置;
  • 我们可以通过使用五个分开的图片,然后每个图片对应一个超链接,产生了5个HTTP请求,我们的目标是要减少HTTP请求;
  • 将五个图片合并为一张图片,然后以位置信息定位超链接
  • 把HTTP请求减少为一个,可以保证设计的完整性和功能的齐全性。

例子:使用 <map><area></area></map> 标签

① 未使用图像地图的例子:

http://stevesouders.com/hpws/imagemap-no.php

② 使用了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值