测试面试之网络

本文详细介绍了网络面试中常见的知识点,包括长连接和短连接的概念、优缺点及应用场景,HTTP和HTTPS的加密过程、区别以及数据传输的安全性。此外,还探讨了TCP与UDP的区别、DNS工作原理、HTTP协议的基本概念及其请求方法。内容涵盖网络连接的建立、维持和关闭,以及网络协议的加密机制和实际应用。
摘要由CSDN通过智能技术生成

什么是长连接和短连接,他们的定义区别及应用场景?
前提:
HTTP/1.0默认使用短连接,HTTP/1.1开始默认使用长连接;
HTTP协议的长连接和短连接,实质就是TCP协议的长连接和短连接;
TCP协议建立连接需要3次握手,断开连接需要4次握手,这个过程会消耗网络资源和时间;
定义:
长连接:在一个TCP连接上可以发送多个数据包,但是如果没有数据包发送时,也要双方发检测包以维持这个长连接;三次握手后连接,不断开连接,保持客户端和服务端通信,直到服务器超时自动断开连接,或者客户端主动断开连接。
短连接:当双方需要数据交互的时候,就建立一个TCP连接,本次交互完之后就断开这个连接;三次握手后建立连接,发送数据包并得到服务器返回的结果后,通过客户端和服务器的四次握手后断开连接。
优缺点:
长连接可以省去较多建立连接和断开连接的操作,所以比较节省资源和时间,但是长连接如果一直存在的话,需要很多探测包的发送来维持这个连接,这对服务器将是很大的负担;
相对而言,短连接不需要服务器承担太大负担,只要存在的连接就是有用的连接,但如果客户端请求频繁,就会在TCP的建立连接和断开连接上浪费较大的资源和时间。
使用场景:
短连接:适用于网页浏览等数据刷新频度较低的场景。一般而言像及京东,淘宝这些大型网站,随时都会有成千上万的用户请求,一般使用短连接,用户量太大,服务器扛不住那么多长连接;
长连接:适用于客户端和服务端通信频繁的场景,例如:聊天室,实时游戏等场景。即时通讯(QQ)般使用的都是长连接,但并不是永久连接(比如20分钟,半个小时),因为即时通讯是频繁的发送请求,使用长连接只需要建立一次连接,同时再根据业务设置保持时间,超过这个时间就会断开连接,一定程度上保证了服务器的压力不会过大。
Socket心跳包机制:
像心跳一样,每隔固定时间向服务器发送一个包,以此来告诉服务器,这个客户端还活着。为了保持长连接,一般都是很小的包(节约流量)或者只有包头的空包。
心跳检测步骤:
1.客户端每隔一段时间间隔就发送一个探测包给服务器;
2.客户端发包时启动一个超时定时器;
3.服务端接收到探测包后会回应一个包;
4.如果客户端收到服务器的应答包,则说明服务器正常,删除超时定时器;如果没有收到则服务器异常。
https的SSL怎么对数据进行加密,流程是什么?
(1)浏览器发送一个请求给服务器,服务器将自己的证书(包含服务器公钥s_PuKey)、对称加密算法种类及其他相关信息返回给客户端;
(2)客户端浏览器检查服务器传送到CA证书是否由自己信赖的CA中心签发。若不是则给客户一个警告信息,询问是否继续访问;
(3)客户端浏览器比较证书里面的信息,如证书有效期、服务器域名和公钥S_PK,与服务器传回的信息是否一致,如果一致,则浏览器完成对服务器的身份认证;
(4)服务器要求客户端发送客户端证书(包含客户端公钥c_puKey)、支持的对称加密方案及其他相关信息。收到后,服务器进行相同的身份认证,若没有通过验证,则拒绝连接;
(5)服务器根据客户浏览器发送到密码种类,选择一个加密程度最高的方案,用客户端公钥C_Pukey加密后通知到浏览器;
(6)客户端通过私钥C_PrKey解密后,得知服务器选择加密方案,并选择一个通话秘钥key,接着用服务器公钥S_PuKey加密后发送给服务器;
(7)服务器接收到浏览器传送的消息,用私钥S_Pukey解密,获得通话秘钥key;
(8)接下来数据传输都使用该秘钥key进行加密;
SSL的对称加密和非对称加密?
对称加密:双方使用同一秘钥,既可以加密又可以解密,加密解密都是同一秘钥;
非对称加密:非对称加密算法需要两个秘钥:公开秘钥(publicKey)和私有秘钥(privatekey).公开秘钥和私有秘钥是一对,如果公开秘钥对数据进行加密,只有用对应的私有秘钥才能解密,如果用私有秘钥进行加密,那么只有用对应的公开秘钥才能解密;
TCP 和 UDP 有什么区别?
TCP 为有连接,所以握手会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换;
UDP 非可靠连接,会丢包,没有校验,速度快,无需握手过程;
DNS是什么?它是如何工作的?
域名解析服务,可用于域名解析IP,或者将IP解析为域名;客户机可指定DNS服务来解析,或用本地hosts文件进行解析;
描述一下Http协议?
http协议又叫做超文本传输协议,在做网络请求的时候,我们基本上是使用http协议。
http协议包括请求和响应。
请求中包括:请求地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值