网络知识点

01/31 08:57
阅读数 44

1.为什么要进行三次握手:
目的:为了防止已经失效的连接请求报文段突然又传送到服务端,因而产生错误。主要是防止资源的浪费。
具体过程:当客户端发出第一个连接请求报文段时并没有丢失,而是在某个网络节点出现了长时间的滞留,以至于延误了连接请求在某个时间之后才到达服务器,这应该是一个早已失效的报文段,但是服务器在收到此失效的连接请求报文段后,以为是客户端的一个新请求,于是就向客户端发出了确认报文段,同意建立连接。假设不采用三次握手,那么只要服务器发出确认之后,新的连接就会建立。但是由于客户端没有发出建立连接的请求,因此不会管服务器的确认,也不会向服务器发送数据,但服务器却以为新的连接已经建立,一直在等待。所以,服务器的资源就白白浪费掉了。
2.为什么要进行四次挥手:
TCP的连接是全双工的,所以连接的拆除需要两个通道分别拆除,而四次挥手做的事情就是拆除两条通道和释放资源。
如果是三次挥手的话,被动关闭端在接收到FIN消息之后,需要同时回复ACK和server端的FIN消息。如果server端在该连接上并没有pending的消息要处理,那么是可以的。如果server端还需要等待一段时间才可以关闭另外一个方向的连接,那么这样的三次挥手就不能满足条件。
3.session和cookie的区别:
1)数据存放位置不同:cookie是以文本形式存储在客户端,session存放在服务器端
2)安全程度不同:cookie不是很安全,别人可以分析存放在本地的cookie,并进行cookie欺骗,考虑到安全应该使用session
3)性能使用程度不同:session会在一定时间内保存在的服务器上,当访问增多,会特别占用服务器的性能,考虑到减轻服务器的性能方面,应当使用cookie
4)数据存储不同:单个cookie保存的数据不能超过4k,很多站点都限制一个站点最多保存20个cookie,而session则存储在服务端,浏览器对其没有限制。
5)会话机制不同:session会话机制是一种服务器端机制,它使用类似于哈希表的结构来保存信息。
cookie会话机制是服务器存储在本地计算机上的小块文本。web服务器使用http头将cookie发送到客户端。在客户端终端,浏览器解析cookie并将其保存为本地文件,该文件自动将来自同一服务器的任何请求绑定到这些cookie。
4.网络为什么要分层:将一个复杂的计算机网络分开管理,各个层实行相应的功能,便于管理和标准。
5.分层的好处:
1)各层之间相互独立,不需要知道低层的结构,只需要知道该层通过层间的接口所提供的服务。
2)灵活性好,当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。
3)结构上可分割,各层都采用最合适的技术来实现。
4)易于实现和维护
5)能促进标准化工作


















展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部