这是我参与「第四届青训营 」笔记创作活动的第3天
一、初识HTTP
- Hyper Text Transfer Protocol 超文本传输协议
- 于TCP协议 应用层
- 对:请求——响应
- 自定义:可扩展
- 无状态,孤立请求
二、协议分析
-可扩展性:1.0
- 标准化:HTTP1.0
- 传输表现:HTTP2
报文
安全性/幂等(Idempotent):不会修改服务器数据;同意的请求执行多次效果相同。
REStful API
- 用URL代表资源
- 客户端与服务器端传输此资源的表现层
- 客户端通过method操作,实现“表现层状态转化”
缓存
cookie
通信的最小单位:帧 与请求或相应相关的为 消息
双向字节流形成消息
HTTP/2 可阻止接收数据
HTTPS经过TSL/SSL加密
三、场景分析
分析请求策略:网络-静态资源 缓存+CDN+文件名.hash
高效分发网络
登录
今日头条——quick_login
动作: 有option请求; 跨域 COPS
- 代理服务器
- Iframe
预请求:获知服务端是否允许跨域源请求(复杂请求) 发协议头
携带Post body, 格式为form,已有cookie 返回json, cookie信息
跳转后能自动登录?
SSO单点登录
检验登陆状态
四、实战
浏览器/node.js
通过AJAX之xhr
Fetch
- 使用Promise
- 模块化设计 Response, Request, Header对象
- 以数据流处理对象,支持分块读取
请求库:axios, 有丰富拦截器
H2网络优化: 速度, 稳定性
五、更多
WebSocket套阶
Quick UDP Internet Connection 低延迟, 轻量化