使用前需要了解
b/s架构 编写程序部署到web服务器;web服务器运行在服务器上,绑定ip地址并监听某端口,接收和处理http请求;客户端通过http协议获取服务器上的网页、文档等资源
HTTP:超文本传输协议,通过浏览器和服务器进行数据交互,进行超文本(文本、图片、视频等)传输的规定。也就是说,http协议规定了超文本传输所要遵守的规则。 HTTP协议目的是规定客户端和服务端数据传输的格式和数据交互行为,并不负责数据传输的细节。底层是基于TCP实现的。现在使用的版本当中是默认持久连接的,也就是多次HTTP请求使用一个TCP连接。
TCP共有6个标志位,分别是:SYN(synchronous),建立联机。ACK(acknowledgement),确认。PSH(push),传输。FIN(finish),结束。RST(reset),重置。URG(urgent),紧急。
三次握手(Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共发送3个包。
-
假设客户端是A,服务端是B。
三次握手建立连接的过程为:
A向B发起建立连接的请求,向B发送一个syn包,此为一次握手;
B收到syn包之后会回复一个syn+ack包,表示自己同意建立连接,此为二次握手;
A收到之后会再回复一个ack包,连接成功建立,此为三次握手。
-
假如是两次握手,会发生什么情况呢? 服务端在发出应答消息后,它根本就不能确认客户端是否接受到消息