HTTP(3) | 青训营笔记

88 阅读1分钟

这是我参与  第五届青训营  伴学笔记创作活动的  第12天

今天总结的是有关HTTP实战

实战-浏览器篇

AJAX之XHR

  • XHR: XMLHttpRequest
  • readyState

image.png

AJAX之Fetch

  • XMLHttpRequet的升级版
  • 使用Promise模块化设计,Response,Request,Header对象
  • 通过数据流处理对象,支持分块读取

image.png

实战-node篇

标准库:HTTP/HTTPS

  • 默认模块,无需安装其他依赖
  • 功能有限/不是十分友好

image.png

常用的请求库:axios

  • 支持浏览器、nodejs环境
  • 丰富的拦截器

image.png

实战-用户体验

网络优化:

image.png

  • CDN是否开启H2的性能对比数据参考

image.png

  • 预解析、预连接

image.png

稳定性:

  • 重试是保证稳定的有效手段,但要防止加剧恶劣情况
  • 缓存合理使用,作为最后一道防线

image.png

扩展-通信方式

websocket

  • 浏览器与服务器进行全双工通讯的网络技术
  • 典型场景:实时性要求高,例如聊天室
  • URL使用 ws:// 或 wss:// 等开头

image.png

QUIC

Quick UDP Internet Connection

  • 0-RTT建联(首次建联除外)。
  • 类似TCP的可靠传输。
  • 类似TLS的加密传输,支持完美前向安全。
  • 用户空间的拥塞控制,最新的BBR算法。
  • 支持h2的基于流的多路复用,但没有TCP的HOL问题。
  • 前向纠错FEC。
  • 类似MPTCP的Connection migration。

image.png

image.png

2023/1/29 Day12