当前位置: 首页 > article >正文

【计算机网络 - 基础问题】每日 3 题(十七)

✍个人博客:Pandaconda-CSDN博客
📣专栏地址:http://t.csdnimg.cn/fYaBd
📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
📝推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)

49. Charles 抓取 HTTPS 流程

  1. 客户端向服务器发起 HTTPS 请求
  2. Charles 拦截客户端的请求,伪装成客户端向服务器进行请求
  3. 服务器向 “客户端”(实际上是 Charles)返回服务器的 CA 证书
  4. Charles 拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。(这一步,Charles 拿到了服务器证书的公钥)
  5. 客户端接收到 “服务器”(实际上是 Charles)的证书后,生成一个对称密钥,用 Charles 的公钥加密,发送给 “服务器”(Charles)
  6. Charles 拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器(这一步,Charles 拿到了对称密钥)
  7. 服务器用自己的私钥解密对称密钥,向 “客户端”(Charles)发送响应
  8. Charles 拦截服务器的响应,替换成自己的证书后发送给客户端
  9. 至此,连接建立,Charles 拿到了服务器证书的公钥和客户端与服务器协商的对称密钥,之后就可以解密或者修改加密的报文了。

简单来说,就是 Charles 作为中间人代理,拿到了服务器证书公钥和 HTTPS 连接的对称密钥,前提是客户端选择信任并安装 Charles 的 CA 证书,否则客户端就会 “报警” 并中止连接。这样看来,HTTPS 还是很安全的。

50. 如何避免被中间人抓取数据?

我们要保证自己电脑的安全,不要被病毒乘虚而入,而且也不要点击任何证书非法的网站,这样 HTTPS 数据就不会被中间人截取到了。

当然,我们还可以通过 HTTPS 双向认证来避免这种问题。

一般我们的 HTTPS 是单向认证,客户端只会验证了服务端的身份,但是服务端并不会验证客户端的身份。

51. HTTP/1.1 相比 HTTP/1.0 提高了什么性能?

HTTP/1.1 相比 HTTP/1.0 性能上的改进:

  • 使用长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。
  • 支持管道(pipeline)网络传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间。

但 HTTP/1.1 还是有性能瓶颈:

  • 请求 / 响应头部(Header)未经压缩就发送,首部信息越多延迟越大。只能压缩 Body 的部分;
  • 发送冗长的首部。每次互相发送相同的首部造成的浪费较多;
  • 服务器是按请求的顺序响应的,如果服务器响应慢,会招致客户端一直请求不到数据,也就是队头阻塞;
  • 没有请求优先级控制;
  • 请求只能从客户端开始,服务器只能被动响应。

http://www.kler.cn/a/322449.html

相关文章:

  • 讯飞、阿里云、腾讯云:Android 语音合成服务对比选择
  • 20241116解决在WIN11和ubuntu20.04通过samba共享时出现局域网千兆带宽拉满的情况
  • 如何在C#中处理必盈接口返回的股票数据?
  • ubuntu24.04网卡配置
  • stm32启动过程解析startup启动文件
  • event_base
  • 《JKTECH柔性振动盘:原理与多行业应用》东莞市江坤自动化科技有限公司
  • TOF系列—深度图滤波
  • 手搓一个Agent#Datawhale 组队学习Task3
  • Android常用C++特性之std::move
  • 【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版
  • 华为HarmonyOS灵活高效的消息推送服务(Push Kit) -- 6 撤回通知消息
  • tomcat 文件上传 (CVE-2017-12615)
  • 计算机知识科普问答--21(101-105)
  • 【FE】NPM——概述
  • 13年408计算机考研-计算机网络
  • 动态规划算法:13.简单多状态 dp 问题_打家劫舍II_C++
  • 搜索软件 Everything 的安装与使用教程
  • Vue使用Vue Router路由:通过URL传递与获取参数
  • C语言-IO
  • 卷积神经网络-最优模型
  • SSH 安全实战:保护您的远程访问
  • 嵌入式的核心能力-Debug调试能力(一)
  • 【分布式微服务】探索微服务架构下的服务治理
  • 1.MySQL的安装
  • AcWing 835. Trie字符串统计