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

embedded/2024/11/15 7:00:21/

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

28. 什么是网关,网关有哪些作用?

【回答一】

网关(Gateway)是在计算机网络中用于连接两个独立的网络的设备,它能够在两个不同协议的网络之间传递数据。在互联网中,网关是一个可以连接不同协议的网络的设备,比如说可以连接局域网和互联网,它可以把局域网的内部网络地址转换成互联网上的合法地址,从而使得局域网内的主机可以与外界通信。
在计算机系统中,网关可以用于实现负载均衡、安全过滤、协议转换等功能。具体来说,网关可以分为以下几种:

  • 应用网关:用于应用层协议的处理,如 HTTP、SMTP 等。
  • 数据库网关:用于数据库访问的控制和管理
  • 通信网关:用于不同通信协议之间的数据交换,如 TCP/IP、UDP/IP 等
  • API 网关:用于管理和转发 API 请求,实现 API 的授权、限流、监控等功能。
    总的来说,网关可以为不同网络提供连接和通信的功能,同时也可以提供安全、性能、可靠性等方面的增强功能是现代计算机系统中不可或缺的一部分。

【回答二】

网关,即 Gateway,网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求。如果让客户端直接与各个微服务通信,会有以下的问题:

  • 客户端会多次请求不同的微服务,增加了客户端的复杂性;
  • 存在跨域请求,在一定场景下处理相对复杂;
  • 认证复杂,每个服务都需要独立认证;
  • 难以重构,随着项目的迭代,可能需要重新划分微服务。例如,可能将多个服务合并成一个或者将一个服务拆分成多个。而划分出多个微服务就代表可能出现多个新的访问地址,如果客户端直接与微服务通信,那么重构将会很难实施;
  • 某些微服务可能使用了防火墙/浏览器不友好的协议,直接访问会有一定的困难;

29. 实现断点续传的原理

断点续传是指在文件传输过程中,如果传输过程中断或终止,用户可以从上一次传输的位置继续传输,而不需要重新开始传输整个文件。实现断点续传的原理如下:

  1. 服务器支持范围请求(Range requests):服务器需要支持 HTTP 协议的 Range 请求。Range 请求允许客户端指定请求的起始位置和结束位置,以获取文件的部分内容。
  2. 客户端发送 Range 请求:当客户端发起下载或上传请求时,客户端可以在 HTTP 请求头中添加 Range 字段,指定文件的起始位置。
  3. 服务器断点续传响应:当服务器接收到带有 Range 字段的请求后,会在响应头中返回 206 Partial Content(部分内容)状态码,并在 Content-Range 字段中指定所传输的文件片段位置和总长度。
  4. 客户端接收数据:客户端接收到部分内容后,将数据与已下载或上传的文件片段合并或替换。
  5. 继续传输:客户端将从上一次传输结束的位置继续发送新的请求,并设置 Range 字段为已下载或上传的文件大小,服务器会识别该请求并返回相应的文件片段。

通过这种方式,服务器和客户端实现了断点续传的功能。这样,即使在传输过程中断或终止,用户可以从上一次传输的位置继续传输文件,而不需要重新传输整个文件,提高了传输的效率。

30. CA 证书了解吗?

  1. 什么是 CA 证书?

CA 证书是由 CA 颁发的数字证书,用于验证公共密钥基础设施(PKI)中的实体身份。它包含有关实体(通常是服务器或客户端)的信息,如名称、公共密钥、有效期和签名。

  1. CA 的角色:
    1. 根 CA(Root CA):根 CA 是最高级别的 CA,它自签名并用于签署下级 CA 的证书。根 CA 的公共密钥被广泛分发,以便客户端可以验证下级 CA 的证书。
    2. 中间 CA(Intermediate CA):中间 CA 是由根 CA 签发的 CA 证书,它们可以用于签署终端实体(服务器或客户端)的证书。它们构成了 CA 层次结构中的中间层。
    3. 终端实体:终端实体可以是服务器、客户端或其他网络设备,它们使用由 CA 颁发的证书来验证其身份,并进行安全通信。
  2. 证书验证:

当客户端与服务器之间建立安全连接时,客户端会验证服务器的证书。这个验证包括以下步骤:

  • 客户端检查服务器证书的签名是否可以通过根 CA 的证书验证。
  • 客户端检查证书中的有效期以确保它仍然有效。
  • 客户端检查证书中的主体名称(通常是服务器的域名)是否与客户端尝试连接的主机名匹配。
    如果服务器证书通过验证,客户端将与服务器建立安全连接。
  1. 用途:

CA 证书广泛用于 Web 安全(HTTPS)、电子邮件加密(S/MIME)、虚拟专用网络(VPN)、数字签名等领域。它们确保了通信的机密性、完整性和身份验证。

  1. 著名的 CA:

一些著名的 CA 包括 Comodo、Symantec(现在属于 DigiCert)、GlobalSign、Let’s Encrypt 等。


http://www.ppmy.cn/embedded/114568.html

相关文章

【TypeScript入坑】TypeScript 的复杂类型「Interface 接口、class类、Enum枚举、Generics泛型、类型断言」

TypeScript入坑 Interface 接口简介接口合并TS 强校验Interface 里支持方法的写入class 类应用接口接口之间互相继承接口定义函数interface 与 type 的异同小案例 class 类类的定义与继承类的访问类型构造器 constructor静态属性,Setter 和 Getter做个小案例抽象类 …

OCR两篇革命之作

DocOwl2 参考 阿里8B模型拿下多页文档理解新SOTA,324个视觉token表示一页,缩减80% mPLUG-DocOwl 2聚焦多页文档理解,兼顾效果和效率,在大幅缩减单页视觉token的前提下实现了多页文档理解的SOTA效果。 仅用324个token表示文档图…

智能 Uber 发票 PDF 合并工具

在现代商务出行中,尤其是在跨国出差中,处理和整合大量 Uber 发票已成为一项不小的挑战。手动整理和合并这些发票不仅耗时,还容易出错。作为开发者,为什么不开发一个自动化工具,将这些任务交给代码来完成呢?…

springBoot整合easyexcel实现导入、导出功能

本次使用的框架是springboot&#xff0c;使用mybatisplus操作表&#xff0c;使用easyexcel实现表格的导入与导出。 操作步骤 1、导入依赖&#xff1a;&#xff08;pom.xml&#xff09; <!-- 查看excel的maven仓库 https://mvnrepository.com/artifact/com.alibaba/easyex…

WEB攻防-JS项目Node.js框架安全识别审计验证绕过

知识点&#xff1a; 1、原生JS&开发框架-安全条件 2、常见安全问题-前端验证&未授权 详细点&#xff1a; 1、什么是JS渗透测试&#xff1f; 在JavaScript中也存在变量和函数&#xff0c;当存在可控变量及函数调用即可参数漏洞 2、流行的Js框架有哪些&#xff1f; …

SpringMVC1~~~

快速入门 spring容器文件 在src下就是applicationContext-mvc.xml&#xff0c;需要在web.xml指定<init-param>&#xff0c;给DispatcherServlet指定要去操作的spring容器文件 在WEB-INF下就是xxx-servlet.xml&#xff0c;不需要在web.xml指定<init-param>,如果我们…

Java中的`String`、`StringBuffer` 和 `StringBuilder`:深入理解与应用场景

在Java中&#xff0c;String、StringBuffer 和 StringBuilder 是用于处理字符串的三种常用类。虽然它们都可以用于创建和操作字符串&#xff0c;但它们的实现、特性、性能以及使用场景各不相同。理解这三者的区别以及它们各自的应用场景&#xff0c;对于编写高效的Java程序至关…

如何学习JAIN-SLEE

要系统地学习 JAIN-SLEE (Java API for Integrated Networks – Service Logic Execution Environment)&#xff0c;你需要从基础概念到高级应用逐步深入学习。以下是详细的入门学习路径和顺序&#xff0c;涵盖必要的知识点、学习顺序和步骤&#xff0c;帮助你快速掌握 JAIN-SL…