-
TCP
-
三次握手,四次挥别
-
三次握手
- 客户端发送SYN请求,进入SYN_SEND状态
- 服务端收到SYN请求,并返回一个ACK应答,并发送一个SYN其请求,服务器进入SYN_RECV状态
- 客户端收到服务端的SYN请求和ACK应答,发送ACK应答,客户端进入ESTABLISH状态,服务端收到应答后进入ESTABLISH。如果没有收到应答,数据包都会根据TCP的重传机制进行重传。
-
四次挥别
- 客户端发送FIN包,请求断开连接,客户端进入FIN_WAIT1状态
- 服务端收到FIN包后返回应答,进入CLOSE_WAIT状态
- 客户端收到FIN的应答后进入FIN_WAIT2状态
- 服务端发送FIN请求包,进入LAST_ACK状态
- 客户端收到FIN请求包后,发送应答进入TIME_WAIT状态
- 服务器收到ACK应答后,进入close状态。
-
同步、异步请求
-
同步请求:
在发送一个请求之后,需要等待服务器响应返回,才能够发送下一个请求,之前学的请求是通过浏览器地址栏发送请求,这种方式就是属于同步请求。但是其有两个缺陷:
①请求必须要等待响应,如果遇到请求阻塞,网络延迟,用户需要等待,这样用户体验效果不好。
②请求时会携带所有的信息,比如说一个form表单,需要填入用户名,密码,手机号,等多个信息。如果其中有一个信息填写错了,请求失败,又要全部重新填写,会很麻烦繁琐。
-
异步请求:
和同步请求相对,异步不需要等待响应,随时可以发送下一次请求。如果是同步请求,需要将信息填写完整,再发送请求,服务器响应填写是否正确,再做修改。但是异步请求是局部页面更新。比如上述的手机号、密码,邮箱名,在填写时就会发送一个异步请求。若是格式不正确,会提醒修改,而其它已经填写的正确信息不受影响。
-
-
-