最近复习(预习)了一下http协议相关的知识,做个总结供以后复习(预习):
特点:面向连接,点到点的安全(相对于UDP)传输协议
这里着重讲下自己对http的三次握手的理解,有错误的地方希望大家可以指出:
SYN:synchronous建立联机
ACK:acknowledgement 确认
三次握手的目的:1、一定程度上保证信息传输的安全性 2、确认自己发送和接收消息的能力
第一次握手:SYN包(x)
客户端向服务端发送一个SYN包,包中包含一个随机数x。
第二次握手:ASK包(x+1)、SYN包(y)
服务端收到客户端发送的SYN包后:
1、要告诉客户端自己收到了消息:把客户端发送的SYN包中的随机数返回给客户端(生成一个ASK包,包中包含客户端发送的随机数+1:x+1)
2、要确认自己发消息的能力:生成一个SYN包,包中包含一个随机数y
综上:第二次握手,服务端向客户端发送一个SYN包和一个ASK包。
第三次握手:ASK包(y+1)
1、客户端收到服务端发送的ASK包:校验ASK包中的数字为x+1表示自己有收发信息的能力,并且确定这个是自己最初要访问的服务端。
2、客户端收到服务端发送的SYN包:把SYN包中的随机数y取出,放入到新生成的ASK包,发送给服务端,服务端收到ASK后表示自己具有收发消息的