前端面试-网络篇

HTTPS的工作原理

以百度为例

  1. 在百度的服务器端首先使用非对称加密算法生成一个秘钥对

  2. 百度将自己的公钥发给 CA 证机构,CA 进行签名,生成证书

  3. 客户端访问百度的时候,百度将生成的证书发给客户端

  4. 浏览器对收到的证书进行认证

  5. 客户端确认证书没有问题后,将百度公钥从证书中取出来

  6. 这样我们就得到了百度的公钥

  7. 在客户端生成一个随机数,使用百度的公钥进行加密,发给服务器

  8. 服务器端使用私钥解密,得到了随机数,这个随机数就是对称加密的秘钥

  9. 秘钥分发完成,下面所有的通信都是使用对称加密的方式来进行的


HTTP 2.0 的特点

HTTP 2.0 的优点有引入二进制分帧层、使用多路复用技术、首部压缩、服务端推送、设置请求优先级

  • 二进制分帧层是将所有的传输信息分割为更小的消息和帧,并对它们采用二进制格式编码。

  • 多路复用技术充分利用带宽,最大限度避免了 TCP 慢启动带来的问题,可以利用一个 TCP 连接,同时发送多个请求和响应。

  • 首部压缩让报头更加紧凑,传输更快。客户端和服务端使用“首部表”来跟踪和存储之前发送的键值对,首部表在连接的时候是始终存在的,新增的键值对会添加在表尾,不需要每次都携带首部。

  • 服务端推送是服务端可以根据客户端的请求,提前返回多个响应,推送额外的资源给客户端,所有推送的资源必须遵守同源策略;PUSH_PROMISE 必须遵守请求-响应原则,借着对客户端请求的响应来推送,PUSH_PROMISE帧必须在响应返回之前发送,以免客户端出现竞态条件。

  • 设置请求优先级是在发送请求的同时,标上请求的优先级,服务器会优先处理优先级高的请求

#前端面试#
全部评论
学到了,感谢分享啊,楼主现在工作找的咋样了
点赞 回复 分享
发布于 2022-09-30 22:33 山西
校友捉
点赞 回复 分享
发布于 2022-10-04 09:21 陕西

相关推荐

威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务