http、tcp、udp、cookie、session、web 应用之间的无状态和有状态传输
无状态含义 每次的请求都是独立的,即不会受上一次请求状态的影响,也不会影响下一次的请求进程。如http 、udp 、ip均为无状态请求 有状态含义 与无状态请求相对应,上一次的请求成功与否直接影响下一次的请求进程。如tcp 为有状态请求 tcp 有状态请求过程 tcp的三次握手 1、当客户端开始发送请求建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。 2、服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态 3、客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手 SYN:同步序列编号(Synchronize Sequence Numbers) tcp的四次挥手 与tcp的三次握手建立连接对应,tcp的四次挥手就断开连接 1、客户端发送一个FIN,用来关闭客户端到服务器端的数据传送,客户端进入FIN_WAIT_1状态 2、服务器端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务器端进入CLOSE_WAIT状态 3、服务器端发送一个FIN,用来关闭服务器端到客户端的数据传送