测试工程师八股文04|盘算机网络 和 其他

打印 上一主题 下一主题

主题 828|帖子 828|积分 2484

一、盘算机网络 

1、http和https的区别

HTTP和HTTPS是用于在互联网上传输数据的协议。它们都是应用层协议,建立在TCP/IP协议栈之上,用于客户端(如浏览器)和服务器之间的通信。 
   ①http和https的重要区别在于安全性。http是一种明文传输协议,数据在传输过程中没有加密,轻易被窃听和窜改,因此不适合传输敏感信息。而 https是在http的基础上参加了 ssl/tls 加密层,通过加密传输和身份认证,确保信息的安全性和完整性。
  ②https 常用于需要保护隐私的场景,如网上支付和登录等,而http则适用于不涉及敏感信息的平凡网站,例如展示网站。
  ③另外由于二者使用的是完全差异的连接方式,所以端标语也不一样,http是80端口,https用的是443端口。
  2、ssl怎么连接

   SSL/TLS 连接的过程大致分为几个步调。
  ①首先,客户端向服务器发起连接请求,并告诉服务器它支持的加密方式。
  ②接着,服务器选择一个两边都支持的加密协议,并发送本身的数字证书给客户端,客户端验证证书的有效性。
  ③然后,客户端天生一个预主密钥,并用服务器的公钥加密后发送给服务器,两边用这个密钥天生对称密钥开始加密通信
  ④最后,所有数据传输都通过这个加密通道进行,确保数据的安全性和隐私性。通信结束时,两边会通过发送关闭关照来安全关闭连接。
  3、TCP和UDP的区别

   TCP 和 UDP 是两种差异的传输层的协议。TCP 是面向连接的,提供可靠的数据传输,包管数据按次序到达,并有重传机制来确保数据不丢失,因此适用于要求高可靠性的应用,如文件传输和网页浏览。相比之下,UDP 是无连接的,不包管数据的次序和可靠性,但它速率更快,适用于实时性要求高的场景,如视频通话和在线游戏,因为这些应用可以容忍一些数据丢失或乱序。
  复杂版本:
TCP⾯向连接,通过三次握⼿建⽴连接,四次挥⼿接除连接;UDP是⽆连接的,即发送数据之前 不需要建⽴连接,这种⽅式为UDP带来了⾼效的传输效率,但也导致⽆法确保数据的发送乐成。
TCP是可靠的通信⽅式。通过TCP连接传送的数据,TCP通过超时重传、 数据校验等⽅式来确保 数据⽆差错,不丢失,不重复,且按序到达;⽽UDP由于⽆需连接的缘故原由,将会以最⼤速率进⾏传 输,但不包管可靠交付,也就是会出现丢失、重复等等问题。 
③TCP⾯向字节流,现实上是TCP把数据看成⼀连串⽆结构的字节流,由于连接的问题,当⽹络出 现颠簸时,连接可能出现响应问题;UDP是⾯向报⽂的,UDP没有拥塞控制,因此⽹络出现拥塞不 会使源主机的发送速率降低。
④每⼀条TCP连接只能是点到点的;⽽UDP不建⽴连接,所以可以⽀持⼀对⼀,⼀对多,多对⼀和 多对多的交互通信,也就是可以同时接受多个⼈的包。
⑤TCP需要建⽴连接,⾸部开销20字节相⽐8个字节的UDP显得⽐较⼤。
⑥TCP的逻辑通信信道是全双⼯的可靠信道,UDP则是不可靠信道。
4、TCP的三次握手和四次挥手


   
     假设客户端想要制止通信      三次握手用于建立TCP连接,确保两边都预备好进行数据传输。过程是:客户端发起连接请求,服务器响应确认,最后客户端确认服务器的响应,连接就建立起来了。
  四次挥手用于安全地停止TCP连接,确保两边的数据传输完成后再断开。客户端发送结束请求,服务器确认后也发送结束请求,最后客户端确认服务器的关闭请求,连接就安全地关闭了。
  三次握手包管了连接的可靠性,而四次挥手则确保数据传输完成后可以或许安全地关闭连接。
  5、OSI七层模子



  • OSI模子是⼀个抽象的框架,⽤于明白和计划⽹络体系。它将⽹络通信过程分为七个独⽴的层,每层都有特定的功能。
    ①物理层 (Physical Layer):
  

  • 负责传输⽐特流的物理连接和电信号。
  • 示例:⽹线、光纤、电缆等。
  ②数据链路层 (Data Link Layer):
  

  • 负责在物理链路上的可靠的数据帧传输。将物理层的比特流转换为数据帧,
  • 示例:MAC地点、以太⽹、互换机等。
  ③⽹络层 (Network Layer):
  

  • 负责差异⽹络之间数据报,实现⽹络互联。
  • 示例:IP地点、路由器等。
  ④传输层 (Transport Layer):
  

  • 负责端到端的通信,如流量控制和差错控制。
  • 示例:TCP、UDP等。
  ⑤会话层 (Session Layer):
  

  • 负责建⽴、管理和终⽌应⽤步调之间的会话。
  • 示例:会话管理协议等。
  ⑥表示层 (Presentation Layer):
  

  • 负责数据格式的转换、加密和解密。
  • 示例:SSL/TLS(用于加密通信)、JPEG、GIF、MPEG(数据格式化和压缩)。
  ⑦ 应⽤层 (Application Layer):
  

  • 负责直接为⽤户提供服务和应⽤接⼝。
  • 示例:HTTP、FTP、SMTP等。
  6、常见的http状态码

   ① 2xx 表示请求乐成并得到了预期的响应。
  ② 3xx 表示需要客户端进行重定向
  

  • 301 Moved Permanently:永久重定向,请求的资源已被永久移动到新url,客户端应使用新url进行后续请求。
  • 302 Found:暂时重定向,请求的资源暂时移动到新 URL,客户端可以继承使用原 URL 进行后续请求,且不需要更新缓存。
  ③ 4xx 表示客户端错误,通常是请求格式或内容的问题。
  

  • 400 Bad Request:客户端发出的请求有误,服务器无法明白。
  • 404 Not Found:请求的资源不存在。
  ④ 5xx 表示服务器错误,服务器无法处理请求。
  

  • 500 Internal Server Error:服务器发生未知错误,无法完成请求。
  • 502 Bad Gateway:作为代理服务器的中介吸收到上游服务器的无效响应。
   增补:检察状态码的方法


  • 浏览器开发者工具:适用于前端开发和网页调试。
  • 下令行工具(curl/wget):适合快速检察 HTTP 状态码,特别是当你不想加载整个页面时。
  • Postman:适合进行 API 测试,特别是对于 HTTP 请求和响应的具体分析。
  • 后端日志:适合后端开发和服务器管理,检察日志中的状态码。
  • Fiddler:适合捕获和调试 HTTP 流量,检察请求和响应的状态码。
7、get和post的区别 

ger通常用于从服务器获取数据;post 通常⽤于向服务器提交数据,如提交表单或上传⽂件。
   ①get请求的参数是放在url里的,post请求的参数放在请求体里。
  ②get请求可以被浏览器缓存,post不能被缓存。
  ③因为get请求的参数是放在url里的,而url的长度是受限的,最大是2048个字符,post请求参数的长度是没有限定的。
  ④同样因为get请求参数是刚在url里的,所以安全性比较差,post请求的参数放在请求体里,所以安全性较好。
  ⑤get请求可以通过浏览器直接访问,刷新和退却时数据不会丢失,post请求不能被浏览器直接访问,刷新和退却需要重新提交数据。
   8、当在网页属于一个url后,会发生什么

   当你输入一个url 后,浏览器会通过以下流程加载网页:
  ①DNS 剖析:浏览器会首先检查是否已有该url对应的 IP 地点缓存。如果有,浏览器会直接使用该地点进行后续的 TCP 连接,。
  ②TCP 连接:建立与服务器的连接。涉及三次握手四次挥手。
  ③TLS 握手(如果是 HTTPS):建立加密通信通道。
  ④HTTP 请求:浏览器向服务器发送请求,获取资源。
  ⑤服务器响应:服务器处理请求并返回内容。
  ⑥前端渲染:浏览器剖析并渲染页面,加载外部资源。
  ⑦缓存和 Cookie 处理:浏览器使用缓存加速加载,携带 Cookie 进行会话管理。
  二、其他

1、深拷贝和浅拷贝

   ①浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存(分支)。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地点(引用类型),拷贝的就是内存地点 ,因此,对新对象所做的修改可能会影响到原始对象,因为它们共享雷同的引用。
  ②深拷贝创建一个新的对象,并且递归地复制整个原始对象,新对象跟原对象不共享内存,修改新对象不会改到原对象,因为它们拥有彼此独立的副本。
  ③简而言之,浅拷贝是“引用复制”,深拷贝是“完全复制”。
  
未完。。。 

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

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

民工心事

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表