You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.9 KiB
1.9 KiB
三HTTP和TCP的关系
- TCP是传输层协议,而HTTP是应用层协议
- TCP是底层通讯协议,定义的是数据传输和连接方式的规范;
- TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。
- TCP就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输。
- 要和服务端连接TCP连接,需要通过三次连接,包括:请求,确认,建立连接。
三次握手建立连接
单工、全双工、半双工
- 单工:收音机
- 半双工:不能同时说话、对讲机
- 全双工:可以同时收发(双绞线8根线)
三次握手
- 目的:确保双线畅通
- syn标识:标志第几次握手
- 第一次(客户端):序列号(随机数):seq=x;回应序列号ack=0;syn标识,表示探测询问
- 第二次(服务端):seq=y;ack=x+1(表示收到);ack标识,表示收到;syn标识,表示收到
- 第三次(客户端):seq=x+1(表示收到);ack=y+1;ack标识,表示收到
- 第一次握手:客户端尝试连接服务器,向服务器发送 syn 包(同步序列编号Synchronize Sequence Numbers),syn=j,客户端进入 SYN_SEND 状态等待服务器确认
- 第二次握手:服务器接收客户端syn包并确认(ack=j+1),同时向客户端发送一个 SYN包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态
- 第三次握手:第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手
- 第三次握手的时候,是可以携带数据的。 但是,第一次、第二次握手不可以携带数据