HTTP与HTTPS请求过程
1、HTTP请求过程
HTTP协议处于网络协议的应用层,底层通过TCP/IP协议支持。HTTP请求基本过程为:
1.域名解析
2.三次握手创建TCP连接
3.服务器响应传输数据
4.四次挥手断开连接
TCP三次握手过程如下
第一次握手:客户端发送SYN报文和客户端初始序列号X,等待服务器确认。
第二次握手:服务器收到报文返回SYN+Ack报文和初始序列号Y
第三次握手:客户端收到服务器返回并返回Seq=X+1和Ack=Y+1
使用报文来解释三次握手比较难懂,为什么TCP连接的建立需要三次握手简单的说:把客户端的发送和接收功能分开算TCP连接的建立必须保证这四样都是可用的:客户端的发送功能、客户端的接收功能、服务器发送功能和服务器接收功能。我们来看三次握手分别做了些什么事:
第一次:客户端发送报文(客户端发送功能是可用的);
第二次:服务器接收到报文并返回。(服务器接收和发送功能是可用的);
第三次:客户端接收到服务器报文并返回。(客户端接收功能是可用的);
一个很常见的问题是为什么建立连接需要三次握手,由上可见是最后一次握手是为了保证客户端仍可以接收报文。TCP连接时有可能会出现这种情况:客户端第一次请求连接的报文因为各种原因阻塞在路上