简易分析浏览器机制

223 阅读2分钟

一、从输入一个网址到浏览器显示页面经历的过程

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协议

    HTTP协议全称HyperText Transfer Protocol,翻译过来就是超文本传输协议位于TCP/IP四层模型当中
的应用层,其实就是客户端和服务器建立通信的一套规则。

四、三次握手和四次挥手

三次握手

客户端首先发送SYN=1、ACK=0,向服务器请求连接
服务器端成功接收后,同意建立连接,向客户端发送SYN=1、ACK=1
客户端收到同意连接后,在向服务器发送ACK=1,确认建立连接,即客户端与服务端可进行数据通信

四次挥手

客户端关闭:
    客户端向服务器发送FIN=1,表示请求关闭连接
    服务器端收到后,向客户端发送ACK=1,表示同意关闭连接
服务器端关闭:
    服务器端向客户端发送FIN=1,表示请求关闭连接
    客户端收到后,向服务器端发送ACK=1,表示同意关闭连接

注意:建立连接后进行数据传输,存在一定延迟,所以关闭连接需要分开进行