一、什么是TCP/IP协议栈?每层有哪些协议?
TCP/IP协议栈一共有4层,分别是数据链路层、网络层、传输层和应用层。网络层用ARP协议、路由协议和ip协议,传输层会使用UDP协议和TCP协议,应用层我们会使用http(超文本传输协议)协议和https、SMTP(电子邮件协议)、FTP(文件传输协议)等协议。
二、常见的http接口请求方法有哪些?
比较常用的http接口请求方法:
1.get请求:主要用来获取资源和数据
2.post请求:用来发送数据给服务器,也可以创建或者是更新资源
3.put请求:可以用来创建或者是替换目标资源
4.patch:可以用来对资源进行部分的修改
5.delete:用来删除资源
三、http和socket有什么区别?
http为短链接,客户端向服务器端发送请求的时候,必须要服务器端回送响应,请求结束之后再主动将这个链接释放掉,因此为短链接。通常的做法是不需要任何的数据,每隔一段时间客户端也得向服务器端发送一个保持连接的请求,这样就可以保证客户端在服务器端是一个上线的状态;
socket为长链接,通常情况下socket连接也叫TCP连接,因此socket连接一旦建立,那么双方开始互相发送数据,直到双方断开连接。在实际运用过程中,由于网络节点过多会被节点给断开连接,因此我们要通过轮询高速网络,让这个节点处于活跃状态。
四、 TCP协议的4次挥手过程?
当TCP协议完成数据发送之后,就会开始断开这个连接,这个时候就需要经历TCP4次挥手的过程:
第一次挥手,一般是客户端向服务器发送的,用来申请断开连接,这个报文中它的一个标志位FIN位标记为1,所以我们一般也把它叫做一个FIN包;
第二次挥手是服务器回复给客户端的,用来对它上一个断开连接请求的报文进行一个确认,这个报文中它的一个标志位ACK位被标记为1,所以我们经常也把它叫做一个ACK报文;
第三次挥手也是服务器发给客户端的,这个时候服务器这边的数据也发送完毕了,它也会发起一个请求断开连接的报文,这个报文中的FIN位同样被标记为1,所以它也是一个FIN包;
<