HTTP协议属于应用层协议,是建立在TCP协议基础之上的,HTTP协议以客户端请求和服务器端应答为标准,浏览器通常称为客户端,而Web服务器称之为服务器端。客户端打开任意一个端口向服务端的指定端口(默认为80)发起HTTP请求,首先会发起TCP三次握手,TCP三次握手的目的是建立可靠的数据连接通道,TCP三次握手通道建立完毕,进行HTTP数据交互,如图9-1所示。[插图]图9-1 HTTP、TCP协议关系当客户端请求的数据接收完毕后,HTTP服务器端会断开TCP连接,整个HTTP连接过程非常短。HTTP连接也称为无状态的连接,无状态连接是指客户端每次向服务器发起HTTP请求时,每次请求都会建立一个新的HTTP连接,而不是在一个HTTP请求基础上进行所有数据的交互。
HTTPS是在HTTP的基础上和ssl/tls证书结合起来的一种协议,保证传输过程中的安全性。
- 当客户在浏览器中输入网址的并且按下回车,浏览器会在浏览器DNS缓存,本地DNS缓存,和Hosts中寻找对应的记录,如果没有获取到则会请求DNS服务来获取对应的ip
- 当获取到ip后,tcp连接会进行三次握手建立连接
- 建立连接完毕以后客户端会发送响应给服务端
- 服务端接受请求并且做出响应发送给客户端
- 客户端收到响应并且解析响应响应给客户