HTTPS
描述HTTPS的过程
- 通讯内容要加密:公私钥
- 高效率加密通讯:对称加密
伪造身份伪造:数字证书
- 服务器身份和服务器公钥
经过HASH算法得到信息摘要
- 原因:避免证书被篡改。例如把公钥改为自己的,对方就会拿到错误的公钥
- 提升效率,身份证明包括的信息较多,HASH减少信息量从而减少计算量
用CA的私钥加密信息摘要得到数字签名
- 原始信息+数字签名=数字证书
- 客户端将原始信息HASH算法的结果和数字签名用CA公钥解密结果比对
用了什么加密算法
- 对称加密算法
非对称加密算法
RSA
- 互质的p,q相乘得到n
- 取n的欧拉函数互质的正整数e
加密:m^e=c(mode n)
- 其中m为加密前的信息,c为加密后的信息
解密:c^d=m(mod n)
推导
- 加密项移项得m^e=c+kn
- 代入解密式:
散列算法(用来验证数据的完整性)
- 数字证书
为什么先用公私钥,再用公钥
- 效率
缺点
- 建立连接慢(需要交换证书)
- 加密解密过程消耗资源
- SSL证书的信用体系不绝对安全。若可控制根证书,仍有可能发起中间人攻击
HTTP/2
- 了解吗
有什么新特性
多路复用
- 1.1中客户端在同一时间对同一域名的请求有限制
首部压缩
- HPCK算法
服务端推送
- 二进制分帧
WebSocket的理解
SocketIO的解决点
- 服务端推送技术
SocketIO的应用场景
特点
- 建立在TCP上
- 与HTTP协议有良好的兼容性
- 数据格式你叫轻量,通信高效
- 可以发送文本,也可以发送二进制数据
- 没有同源限制
- 协议标识符为ws,如果加密则为wss
从输入url到渲染页面的过程
- Js代码的运行时机
- Css代码什么时候执行、渲染
Js代码对页面渲染的阻塞
- async、defer
渲染线程的阻塞
- setTimeout
- requestAnimationFrame
本文结束啦感谢您的阅读