计算机网络口试题——第一篇

打印 上一主题 下一主题

主题 695|帖子 695|积分 2085

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. TCP建立连接的过程

   三次握手
  

  • 第一次握手:客户端发送sync包到服务器端,进入sync_send状态,等候服务器端的确认。
  • 第二次握手:服务器端收到客户端的sync包,发送sync+ack包给客户端,进入sync_recv状态。
  • 第三次握手:客户端收到服务器端的sync+ack包,发送这个ack包给服务器端,至此,客户端和服务器端进入established状态。
  2. TCP断开连接的过程

   四次挥手
  

  • 第一次挥手:主动关闭方发送fin包到被动关闭方。
  • 第二次挥手:被动关闭方收到fin包后,发送ack包给对方,确认序号为收到序号+1
  • 第三次挥手:被动关闭方也发送fin包给主动关闭方,告诉对方我也不会给你发送数据了
  • 第四次挥手:主动关闭方收到fin包,发送ack给对方,至此完成四次挥手。
  3. 欣赏器发送302跳转背后的逻辑

   欣赏器发送302跳转重要涉及HTTP协议中的重定向机制。具体来说,当服务器收到一个请求后,如果发现请求的资源暂时不在当前位置。而是位于另一个URL,服务器就会向欣赏器发送一个302状态码,并在相应头中指定新的资源位置(即Location字段)。欣赏器收到这个状态码和Location字段后,会主动向新的URL发送请求,从而实现页面跳转。
具体跳转过程如下
  

  • 请求发送:用户通过欣赏器向服务器发送一个HTTP请求,请求访问某个资源。
  • 服务器处理:服务器收到请求后,查抄请求的资源是否在当前位置。
  

  • 如果资源不在当前位置,但知道他暂时位于另一个URL,服务器将返回302状态码。
  • 同时,在相应头中的Location字段指定新的资源位置。
  

  • 欣赏器相应:欣赏器收到服务器的302状态码,会解析Location 字段中的URL。
  

  • 欣赏器主动向这个新的URL发送请求,获取资源。
  • 用户看到的结果就是欣赏器地址栏中的URL从原来的地址变成了新的地址,并且页面内容也更新为新地址对应的内容。
  4. HTTP协议的交互流程

   

  • 建立连接
  

  • 域名解析:起首,客户端通过DNS将目的URL解析为对应的IP地址。
  • TCP三次握手:在获得服务器IP之后,客户端和服务器之间通过TCP进行三次握手,以建立可靠的连接,三次握手过程包罗。
    a. 客户端发送一个syn J包
    b. 服务器收到synJ包,回复syn K+ack J+1包。
    c. 客户端回复ack K+1包,至此,TCP连接建立乐成。
  

  • 发送请求
  

  • 构建并发送HTTP请求:客户端通过以建立的TCP连接将HTTP请求发送给服务器。
  

  • 接收相应
  

  • 服务器处理请求,构建HTTP相应,并将相应发送给客户端。
  

  • 关闭连接:通过四次挥手,客户端和服务端之中断开连接。
  5. HTTP和HTTPS的差异

   

  • 协议安全性
  

  • HTTP是一种无加密的协议,数据在传输过程中以明文情势存在。
  • HTTPS是HTTP的安全版本,他在HTTP的基础上增加了SSL/TLS协议。对数据进行传输加密。
  

  • 证书管理
  

  • HTTP协议不必要证书
  • HTTPS必要向CA机构申请证书进行加密和解密操作。
  

  • 端口号
  

  • HTTP通常使用80端口
  • HTTPS通常使用443端口
  

  • 资源消耗和兼容性方面,HTTP要更少以及兼容性更高。
  6. SSL协议的交互流程

   

  • 客户端请求SSL连接,并将本身支持的加密规则发给网站。
  • 服务器端将本身的身份信息以证书情势发回给客户端。证书里面包含了网站地址,加密公钥、以及证书的颁发机构。
  • 获得证书后,客户要做以下工作。
  

  • 验证证书合法性。
  • 如果证书受信任,客户端会生成一串随机数的密码,并用证书提供的公钥进行加密。
  • 将加密好的随机数发给服务器。
  

  • 服务器用本身的私钥进行解密,得到随机数,把这个随机数作为对称加密的密钥。(使用非对称加密传输对称加密的密钥)
  • 之后服务器和客户端之间就可以用随机数对各自的信息进行加密、解密。
  总结:客户端请求 -> 服务端发送证书(公钥)-> 客户端验证证书,并生成随机数 -> 通过公钥加密后发送给服务端-> 服务端用私钥解密出随机数->对称加密传输数据。
  7. Rest和Http之间的关系

   Rest是一种软件架构风格,HTTP是一种文本传输协议。
  

  • 协议依赖
  

  • Rest风格通常使用HTTP作为其通讯协议。
  

  • 资源导向:
  

  • Rest以资源为中心,每个资源通过URI进行定位,HTTP协议则提供了访问这些资源的机制。
  • 客户端通过向服务器发送HTTP请求来操作资源,服务器通过HTTP相应来返回操作结果。
  8 . 为什么Rest很轻量

   

  • 简朴性
  

  • Rest依赖于尺度的HTTP协议,和其他复杂的架构相比,Rest不必要额外的中心件或者配置,低落了体系的复杂性。
  

  • 可扩展性
  

  • Rest依赖于尺度的HTTP协媾和URI,因此可以轻松通过添加新的资源和操作来扩展应用的功能。
  

  • 松耦合
  

  • Rest架构通过资源唯一标识符URI和HTTP协议的操作来实现资源管理,使得客户端和服务器之间松耦合。
  

  • 无状态性
  

  • Rest架构风格强调无状态性,即每次请求都应包含处理请求所需的所有信息,而不依赖于之前的请求。
  9. RPC和HTTP协议的区别

   RPC 长途过程调用,HTTP:超文本传输协议,他们之间的区别如下:
  

  • 传输协议
  

  • RPC可以基于多种协议进行通讯,如TCP、UDP,也可以基于HTTP协议。
  • HTTP:是一个属于应用层、用于从web服务器传输超文本到本地欣赏器的传送协议。
  

  • 传输效率
  

  • RPC: 通过使用自定义的TCP协议或者HTTP2协议,RPC可以镌汰请求报文大小,提高传输效率。特殊是当时用二进制序列化协议(Protocol Buffers、Thrift等),传输效率更高。
  • HTTP:如果是基于HTTP1.1的协议,请求中会包含很多无用内容,影响传输效率。而基于HTTP2.0的,请求则可以在一定程度上镌汰这种开销。但是传输效率仍然较低。
  

  • 性能消耗
  

  • RPC:可以基于高效的二进制序列化协议进行数据传输,因此在序列化和反序列化过程中性能消耗较低。
  • HTTP:通过JSON格式进行数据传输,相对二进制协议较大,从而增加了性能消耗。
  

  • 负载平衡和服务管理
  

  • RPC:大部分RPC框架都自带了负载平衡策略,可以或许主动处理服务的调用和分配。
  • HTTP:HTTP本身不提供负载平衡,必要通过Nginx等来实现。
  10. 交换机和路由器的区别

   

  • 工作层次不同
  

  • 最初的交换机工作在OSI模子中的数据链路层,工作原理简朴。
  • 路由器工作在OSI模子中的网络层。
  

  • 数据转发所依据的对象不同
  

  • 交换机依赖物理MAC地址,确定转发的目的地址。
  • 路由器使用IP地址,确定转发的目的地址。
  

  • 应用场景不同
  

  • 交换机广泛应用于局域网中,实现局域网内的设备间数据的高速交换。
  • 路由器用于连接不同网络之间的设备,如企业网络、互联网接入,可以或许实现跨网络的数据通讯,构建大规模、复杂网络结构的关键设备。
  11. Nginx常用性能调优

   

  • 增加同时打开文件数open_files数量
  • 处理大量静态文件的磁盘IO时,增加CPU核心数worker Processor数量,提高计算本领。
  • 如果网站流量很高,可以提升worker进程连接数worker connections。
  • 控制keep alive在10~20s之间,镌汰连接的时间开销。
  • 提高网络带宽。
  • 开启压缩传输数据gzip,设置压缩级别为1-2.
  • 扩展呆板数量。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表