前言
http2.0、https 以及 websocket 的相关内容,是面试的热点。面试者需要对这方面的知识有一个很清晰的理解。
http 2.0 和 http1.1 的区别
- 二进制分帧
http2.0 将所有传输的信息分割为更小的消息和帧,并对它们采用二进制格式的编码。http1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,健壮性差。
- 多路复用
http2.0 多个请求可同时在一个连接上并行执行。某个请求任务耗时严重,不会影响到其它连接的正常执行;http 1.1 后面的请求需要等待前面的请求返回才会执行。
- http2.0 header 压缩,大大降低因头部传输产生的流量。
https
- http 协议存在的问题:1. 数据保密性问题; 2. 数据完整性问题; 3. 身份校验问题。
- https 协议是身披 SSL 外壳的 HTTP。
- https 协议通过非对称加密和对称加密解决数据保密性问题;通过第三方 CA 的数字签名来解决数据完整性问题和身份校验问题。
CA 颁发的证书里包含了 CA 的公钥,服务器的公钥和对称加密的密钥。
websocket
- 初期学习的话,推荐阮一峰的 websocket 教程。
- 有 nodejs 环境的话,可以使用 nodejs-websocket。
更新计划
欢迎大家关注微信公众号:赵公子聊前端。