建立TCP连接
- 先建立连接(确保双方都有收发消息的能力)
- 再传输内容(如发送给一个get请求)
- 网络连接是TCP协议,传输内容是HTTP协议
为什么要进行三次握手?
举个例子:你要去你的朋友家,首先要发消息询问朋友在家吗?朋友回复:在家,你回复:好,我现在去你家。
三次握手本质是保证双方都有收发消息的能力,第一次握手保证客户端可以发送消息,服务端可以接受消息,第二次握手保证服务端可以发送消息,第三次握手保证客户端可以接受消息。
- 第一次握手:发送SYN
- 第二次握手:返回SYN和ACK
- 第三次握手:发送ACK
为什么要进行四次挥手?
客户端向服务端发送:我想要结束会话。服务端回复:收到请求,但我要把我的信息发完,发完再通知你。服务端回复:发完了,可以断开。客户端:收到,断开吧。
四次挥手保证了双方的所有传输都结束才会断开。
- 第一次挥手:发送FIN
- 第二次挥手:返回ACK
- 第三次挥手:返回FIN
- 第四次挥手:返回ACK