减少http请求的方法、从url回车——>页面呈现的简单过程

Source

减少http请求的方法

  1. 使用css雪碧图

  2. 使用base64编码

  3. 合并脚本与样式表代码到html中

  4. 配置多个域名,使用CDN加速服务。

  5. 尽量使用浏览器的缓存机制(不经常修改的文件可存)。

    剩下是代码上的优化:ajax优化…

解释:

  1. 雪碧图是开发者预先准备好的图片,而经常/可能更新的图片不能作为雪碧图。

  2. base64编码适用于小图标,尺寸很小的图片。使用64位编码形成,按照编码解析一张图片,而不是http请求。

    劣势:

    • 增加了代码量,一张复杂的图片使用base64编码后代码非常多;
    • 解析过程还可能混乱。
    • http请求花费的时间可能会小于<一张复杂图片的base64编码解析时间
  3. CDN加速服务具备接收并发请求的能力、速度很快;例如网页中的图片可以上传到七牛云,虽然图片url地址还是显示自己的域名,本质图片是在第三方服务器上存储,访问第三方服务器提供的CDN加速域名拿到资源。

浏览器发情http传统做法:下载一次资源,就需要发起一次http请求

当然现代浏览器会有更先进做法:网络课

预备知识:从url回车——>页面呈现的简单过程

  1. url输入回车

  2. DNS解析:把URL解析成:

    • 相应服务器的IP地址
    • 代理服务器的IP地址
  3. 浏览器网络向相应服务器发起TCP/IP连接请求

  4. 建立TCP/IP连接(三次握手)

  5. 浏览器网络发起HTTP请求

  6. 等待响应过程

  7. 下载HTML资源

  8. 解析HTML

  9. 遇到HTML里的资源,再次发起HTTP请求—>下载资源

    四次挥手是HTTP请求与接收资源的过程中产生的

  10. 时间线

  11. 呈现内容

这些过程中最耗时的部分:http请求获取资源部分(5,6,7,8,9),占这个过程中80%以上