6.计算机网络篇

本文主要探讨计算机网络中的TCP连接,包括三次握手、四次挥手及其原因,以及TCP拥塞控制策略。此外,还介绍了HTTP协议的基础知识,如无状态特性、HTTP/2的多路复用,以及HTTPS的安全加密方式。同时,提到了Cookie与Session在维持会话状态中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其实应该写java并发编程了,但是那个1天还真总结不完,所以先整理一个少点(并不是说内容少,只是相对考点少)的。

图太大,限制5M没法传了。直接以问答的形式说一些经常问到的题把。

1.TCP三次握手及过程?

 2.TCP四次挥手过程?

各种标识位:

   序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。

    确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号。

    确认ACK:占1位,仅当ACK=1时,确认号字段才有效。ACK=0时,确认号无效

    同步SYN:连接建立时用于同步序号。当SYN=1,ACK=0时表示:这是一个连接请求报文段。若同意连接,则在响应报文段中使得SYN=1,ACK=1。因此,SYN=1表示这是一个连接请求,或连接接受报文。SYN这个标志位只有在TCP建产连接时才会被置1,握手完成后SYN标志位被置0。

    终止FIN:用来释放一个连接。FIN=1表示:此报文段的发送方的数据已经发送完毕,并要求释放运输连接

    PS:ACK、SYN和FIN这些大写的单词表示标志位,其值要么是1,要么是0;ack、seq小写的单词表示序号。
 

3.为什么要进行三次握手?

  第三次握手是为了防止失效的连接请求到达服务器,让服务器错误打开连接。

因为发送的数据可能会发送很久,但是客户端如果超时以后,客户端会还会发出一个请求信号,但是以前滞留的的信号还会到达服务器,如果没有第三次握手那么就会打开2次连接,如果有了第三次客户端会忽略以前滞留的信号。

 

4.4次挥手的过程中为什么会有TIME_WAIT?

客户端接收到服务器的FIN报文后进入TIME_WAIT状态而不是CLOSED,还需要等待2MSL,理由:

确保最后一个确认报文能够到达。如果server端没收到client端发来的确认报文,那么就会重新发送连接释放请求报文。

为了让本连接持续时间内所产生的所有报文都从网络中消失,使得下一个新的连接不会出现旧的连接请求报文。

 

5.TCP拥塞控制?

   1>.慢启动:启动初始值为1,然后以指数倍的速率增加。

   2>.拥塞避免:当拥塞窗口达到慢启动的阈值时,增长速度变慢,线性加一。当发生了超时那么重新进行慢启动,并且设置阈值为当前的一半。

   3>.快重传:接收到数据就理解发送确认信号,而不必等到发送数据时捎带。

   4>.快恢复:当收到三个连续的确认信号后,那么将窗口大小会变为当前的一半。

 

6.浏览器输入url请求服务器的过程?

   1>.首先对url进行dns解析得到ip地址;dns解析过程首先从浏览器中查找dns缓存,如果没有的话从路由器中去找,如果路由器中也没有,那么就去ISP去查找。

   2>.查找到ip地址以后,建立tcp连接

   3>.然后向目标地址发送http请求。

 

7.说一下http协议?

http协议是一个应用层协议,是一个无状态协议,对于事务没有记忆能力,建立在tcp连接之上,还是无连接协议,即每次连接只处理一个请求,当处理完请求,并收到客户端请求以后则断开连接。

 

8.说一下http2协议?

http2协议修改了数据格式化和客户端和服务端的传输方式。因为http1中一次只能处理一个请求。所以http2协议解决了这个痛点,解决的方式是使用stream区分不同的请求。

采用连接多路复用的技术,将请求或者响应分成N个帧,然后在重组。(听说阿里喜欢问这个协议)

 

9.说一下https协议?

https协议是一个计算机网络进行安全传输协议,其实是http协议加上SSL协议外衣。利用SSL建立安全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

 

10.https协议加密方式?

   1>.对称加密:加密和解密都是用相同的密钥。

   2>.非对称加密:加密使用公钥,解密使用私钥。

   3>:混合加密:使用公开密钥加密方式安全的交换在稍后共享加密要使用的密钥,确保密钥是安全的前提下,使用共享密钥的加密方式进行通信。

 

11.http中长连接和短连接?

长连接表示tcp传输完以后不关闭连接,短连接表示tcp传输完以后关闭连接。

 

12.Cookie和Session的区别?

Cookie和session是因为http协议是无状态,为了记录状态出现的。

Cookie存在于客户端,Session存在于服务端。

Cookie中可以设置失效时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值