1.输入域名后客户端从本地缓存中寻找匹配的ip地址,若是找不到则向DNS域名解析服务器发起解析请求来获取
2.在创建链接以前,客户端与服务器进行TCP三次握手,即
客户端向服务器发送 SYN 同步序列编号(Synchronize Sequence Numbers)
服务器收到并响应,向客户端发送SYN+ACK(Acknowledge character)
客户端收到后,再向服务器发送ACK,结束
3.客户端向服务器发送HTTP请求
HTTP请求包括请求报头和请求主体两个部分,其中请求报头包含了相当重要的信息,包括
请求的方法(GET / POST)、目标url、遵循的协议(http / https / ftp…),返回的信息
是否须要缓存,以及客户端是否发送cookie等。
4.服务器向客户端发送请求的相应资源,找不到则显示404 Not Found
5.客户端浏览器收到后开始进行进行渲染,构建DOM树、css规则树和JS,则能够显示页面
复制代码
浏览器收到html数据后进行解析,构建DOM树+CSS规则树->渲染树(Render树),而后进行绘制,页面展现
复制代码
HTTP协议全称HyperText Transfer Protocol,翻译过来就是超文本传输协议位于TCP/IP四层模型当中
的应用层,其实就是客户端和服务器创建通讯的一套规则。
复制代码
客户端首先发送SYN=一、ACK=0,向服务器请求链接
服务器端成功接收后,赞成创建链接,向客户端发送SYN=一、ACK=1
客户端收到赞成链接后,在向服务器发送ACK=1,确认创建链接,即客户端与服务端可进行数据通讯
复制代码
客户端关闭:
客户端向服务器发送FIN=1,表示请求关闭链接
服务器端收到后,向客户端发送ACK=1,表示赞成关闭链接
服务器端关闭:
服务器端向客户端发送FIN=1,表示请求关闭链接
客户端收到后,向服务器端发送ACK=1,表示赞成关闭链接
复制代码
注意:创建链接后进行数据传输,存在必定延迟,因此关闭链接须要分开进行css