1.1什么是HTTP
- Hyper Text Transfer Protocol超文本传输协议
- 应用层协议,基于TCP协议
- 请求响应
- 简单可扩展
- 无状态
1.2发展史
-
- HTTP/0.9单行协议
- 请求GET/mypage.html
- 响应只有HTML文档
-
- HTTP.1.0构建可扩展性
- 增加了Header
- 有了状态码
- 支持多种文档类型
-
- HTTP/1.1标准化协议
- 链接复用
- 缓存
- 内容协商
-
- HTTP/2更优异的表现
- 二进制协议
- 压缩header
- 服务器推送
-
- HTTP/3草案
2.1报文
- Method
- safe:不会修改服务器的数据的方法
- Idempotent:同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的所有safe的方法都是
- Restful API
- 每一个URL代表一种资源
- 客户端与服务器之间,传递这种资源的某种表现层
- 客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”。
2.2登录(场景分析)
跨域解决方案
- CORS
- 代理服务器
- iframe
2.3AJAX之Fetch
- XMLHttpRequet的升级版
- 使用promise
- 模块化设计
- 通过数据流处理对象,支持分块读取
3.1WebSocket
- 浏览器与服务器进行全双工通讯的网络技术
- 典型场景:实时性要求高
- URL使用ws://或wss://开头
3.2QUIC
- 0-RTT建联
- 类似TCP的可靠传输
- 类似TLS的加密传输,支持完美前向安全
- 用户空间的拥塞控制,最新的BBR算法
- 支持h2的基于流的多路复用,但没有TCP的HOL问题
- 前向纠错FEC
- 类似MPTCP的Connection migration