前端性能优化基础知识

浏览器工作的详细流程图

缓存相关

  1. Prompt for unload 卸载已经存在的页面 释放占用的内存 提醒unload
  2. redirect 本地的重定向,先从本地找,本地找不到再请求服务器 真正的开始unload
  3. App cache 操作浏览器的缓存

网络相关

  1. DNS 查询服务器IP地址 CDN 优化

  2. TCP 与服务器链接TCP 长连接优化,复用TCP

  3. Request 优化服务器

  4. Response 压缩 gzip

处理数据

  1. Processing 解析文档 生成dom树,绑定事件
  2. onLoad 加载

DNS详解

  • 域名系统 将域名(文本)转化为IP
  • 顶级域名 后缀 .com/.com.cn 加了前缀 www.就变成了二级域名 www是万维网
  • 域名服务器
    • Root 解析 .com
    • TLD 解析 google.com
    • Name 解析 www.google.com
  • 域名资源记录

TCP三次握手与四次挥手

  • TCP协议模型详解

  • 三次握手

    1. 客户端发起 调用connect() 发送指令 SYN seq顺序号 TCP链接时候是把大数据包拆分成小数据包传输的,所以就有了标识的顺序号,以便进行组装
    2. 远程服务器祯听 listen() ACK应答顺序号 服务器也有自己的请求号
    3. 客户端应答服务器的顺序号加1返回服务器
  • 多次数据传输

  • 四次分手

    1. 客户端 调用close() 发送指令 FIN 顺序号 应答号
    2. 服务器 响应客户端请求
    3. 服务器应答之后 调用close() 发送 FIN
    4. 客户端进行确认已断开 服务器多一次是为了先响应,避免客户端超时

CDN

  • 选择离得最近的服务器

缓存机制

× Etag/If-None-Match策略

  • Etag: web服务器响应请求时,告诉浏览器当前资源在服务器的唯一标识
  • If-None_Match:当资源过期时(使用Cache-Control标识的max-age),发现资源是Etage声明,则再次向web服务器请求时带上头If-None-Match(Etag的值)。web服务器收到请求后发现有头If-None-Match则与被请求资源的相应校验串进行比对,决定返回200或者304 × last-Modified/If-Modified-Since策略
  • Last-Modified:标示这个响应资源的最后修改时间。web服务器在响应请求时,告诉浏览器资源的最后修改时间。
  • If-Modified-Since:当资源过期时(使用Cache-Control标识的max-age),发现资源具有Last-Modified声明,则再次向web服务器请求时带上头 If-Modified-Since,表示请求时间。web服务器收到请求后发现有头If-Modified-Since 则与被请求资源的最后修改时间进行比对。若最后修改时间较新,说明资源又被改动过,则响应整片资源内容(写在响应消息包体内),HTTP200;若最后修改时间较旧,说明资源无新修改,则响应HTTP 304 (无需包体,节省浏览),告知浏览器继续使用所保存的cache。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值