# 性能优化篇(二)

# 前端性能优化之服务器

A662317B-EE08-4A15-BF2C-6B725B8CC7EA

1595578492420_C1ADD2D1-6A2D-4CEF-8EEB-BF9E59EBFF3A

阶段一

  1. 准备卸载页面
  2. 重定向开始
  3. 卸载页面开始 2和3同时开始
  4. 卸载页面结束
  5. 重定向结束 (之前页面资源释放结束)
  6. 开始发起请求 (如果上一个页面为空则跳过之前)
  7. 查看本地缓存

阶段二

  1. 查询域开始 (DNS)
  2. 这部分可以优化--下面介绍和cdn配合
  3. 查询域结束
  4. 建立连接(TCP)
  5. 加密(可选)
  6. 连接建立成功 (握手结束)-->体现出网络质量
  7. 发起请求
  8. 服务器接收到请求,并发起相应
  9. 服务器处理
  10. 服务器发送数据结束 (可优化点服务器处理速度)

阶段三

  1. 解析dom开始 (阶段三可优化)
  2. 解析dom结束
  3. 加载依赖
  4. dom事件绑定
  5. dom准备完成
  6. dom渲染完毕
  7. 执行onload事件内的脚本

主要优化的是阶段三

# DNS

  • DNS 是Domain Name System, 域名系统,用于将域名转换为IP。
  • 顶级域名 --> baidu.com (com根域名)
  • 二级域名 --> www.baidu.com
  • 域名资源记录 (域名和IP对应)
  • 域名服务器
  • 域名解析 (文本转换为域名)

# 域名

  • x.x.x.x 文本 ipv4
  • x.x.x.x为int,4个字节。一个字节范围0~255。
  • F:F:F:F:F:F 文本 ipv6
  • ip域名其实就是一个编号

# 域名服务器

1595580943426_8BBBD7EA-BBDB-44CE-9F77-8D290A9D9774

  • 分级维护dns服务器
  • 首先解析域名 先查看缓存(缓存高频域名)
  • 请求根域名服务器 (目前全球13台,中国没有,只有镜像)直解析根域名,然后返回结果并告诉你请求的下一个服务器
  • 请求TLD 服务器 解析顶级域名 然后返回结果并告诉你请求的下一个服务器
  • 请求名称服务器 返回结果

所以在访问高频服务器时候会快,低频的会慢。

记录类型 含义
SOA:(StartOf Authority, 起始授权记录) ⼀一个区域解析库有且只能有⼀一个SOA记录,⽽而且必须放在第⼀一条
A记录(主机记录) (ipv4域名对应ip) ⽤用于名称解析的重要记录,将特定的主机名映射到对应主机的IP地址上
CNAME记录(别名记录) (指向A记录) ⽤用于 返回另⼀一个域名,即当前查询的域名是另⼀一个域名的跳转, 主要⽤用于域名的内部 跳转,为服务器器配置提供灵活性
NS记录(域名服务器器记录) (名称服务器上图5) ⽤用于返回保存下⼀一级域名信息的服务器器地址。该记录只能设置为域名,不不能设置为IP地 址。
MX(邮件记录) ⽤用于返回接收电⼦子邮件的服务器器地址
IPv6主机记录(AAAA记录) (ipv4域名对应ip) 与A记录对应,⽤用于将特定的主机名映射到⼀一个主机的IPv6地址。

# TCP三次握手与四次挥手

1595582117290_A5456349-81CC-4261-A6A2-9A5DAD95B9E1

上图iso标准,应用层、表示层和会话层在TCP协议中为一层,应用层。

发起请求

url-->添加请求头等包装-->tcp协议进行打包-->继续打包。。。

接受请求

逐条解压-->只留数据

1595582226820_DAC9A134-CAD4-47CA-9A9B-E9BDA505BFA2

TCP: 面向连接,比较稳定,基于数据报加了限制(保证接通)

UDP:不稳定,基于数据报,没有限制(只管发送)

1595582276032_81E3189E-A646-4198-B3C3-D099B4F4680B

源端口,应答端口

数据号,应答号,偏移量

offset告诉那些是正式数据

1595582345498_8743F569-5474-47B9-93A7-AB6120F4659A

三次握手

三次握手是为了建立连接,三次就建立成功了所以只有三次握手。

四次挥手

四次挥手是为了断开连接

  1. 客户端请求断开连接
  2. 服务端发送收到请求
  3. 服务端处理完数据之后告诉客户端断开连接(这时候服务器有可能数据没有发送完毕)
  4. 客户端发送收到客户端已断开连接

# CDN

1595583677386_9F7D269A-7B6F-48D5-9664-ABF4824E395A

网略优化的一种,CDN-->数据分发网略

图左 非CDN

图右 CDN

给图左服务器建立若干个镜像。

镜像加DNS解析机制构成了CDN。