1、浏览器根据域名(主机名)通过DNS服务器查询域名对应的服务器的IP地址
2、浏览器主机根据IP地址与服务器建立TCP连接。
3、浏览器将访问请求封装为一个HTTP请求报文,通过TCP协议发送给服务器。
4、服务器收到请求并响应,生成一个HTTP响应报文,通过TCP协议发送给浏览器主机。
5、浏览器得到响应报文之后,对响应报文进行解析。
6、浏览器异步请求其他资源
转载:https://blog.youkuaiyun.com/u012505618/article/details/78383390
如果浏览器存储了该域名下的cookie,那么cookie也会放入http请求中
HTTP请求是一个基于TCP协议之上的应用层协议——超文本传输协议。浏览器通过DNS获取到web服务器真的IP地址后,便向Web服务器发起TCP连接请求,通过TCP三次握手建立好连接后,浏览器便可以将HTTP请求数据通过发送给服务器了。
TCP三次握手连接:
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。