一、协议分析——发展
- HTTP/2概述:更快、更稳定、更简单
- 帧( frame ): HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。
- 二进制
- 消息:与逻辑请求或响应消息对应的完整的一系列帧。
- 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息。
- 交错发送,接收方重组织
- HTTP/2连接都是永久的,而且仅需要每个来源一个连接
- 流控制:阻止发送方向接收方发送大量数据的机制
- 服务器推送
二、HTTPS概述
- HTTPS : Hypertext Transfer
- Protocol Secure
- 经过TSL/SSL加密
- 对称加密:加密和解密都是使用同一个密钥
- 非对称加密,加密和解密需要使用两个不同的密钥:公钥(public key)和私钥(private key)
三、场景分析
- 打开chrome
- 输入www.toutiao.com
- 打开控制台
- 右键→检查
- F12
- 切换到network
- 静态资源
- 登陆
四、场景分析——静态资源
- 缓存策略是怎样的?
- 强缓存
- Cache-control:一年
- 还有什么信息吗?
- 允许所有域名访问
- 资源类型:css
- 静态资源方案:缓存+ CDN +文件名hash
- CDN : Content Delivery
- Network
- 通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务
五、场景分析——登录
- 业务场景
- 表单登录
- 扫码登录
- 技术方式
- SSO
- 账号密码登陆
- 打开控制台——network——勾选preserve log——过滤quick_login
- 观察请求
- 跨域解决方案
- CORS
- 代理服务器
- 同源策略是浏览器的安 策略,不是HTTP的
- Iframe
- 诸多不便
- 向什么地址做了什么动作?
- 使用POST方法
- 目标域名sso.toutiao.com
- 目标path/quick_login/v2/
- 携带了哪些信息,返回了哪些信息?
- 携带信息
- Post body,数据格式为form
- 希望获取的数据格式为json
- 已有的cookie
- 返回信息
- 数据格式json
- 种cookie的信息