敲入url后,
首先,浏览器会对URL进行分析,如果是http协议就用web方式处理,如果是本地文件就不用发请求并直接读取;
其次,调用浏览器内核中相应的方法;
然后,查看浏览器内部缓存、系统缓存、dns缓存,看是否需要向服务器请求全部数据,如果查到域名对应的IP,就根据缓存的具体情况,判断从服务器请求还是从本地读取文件;
然后,如果本地没有找到对应的IP,需要进一步解析域名,将当前域名交给DNS服务器解析;
然后,如果解析成功返回IP地址后,就开始在服务器端与浏览器端建立连接,这需要TCP三次握手;
然后,连接成功,服务器收到浏览器发送的请求后,根据某个协议,通过web-server把浏览器发送的数据进行打包,然后发给后端应用。后端服务软件会根据路径和查询参数进行相应处理,返回给浏览器对应的数据包;
然后,浏览器接受数据下载HTML文档,同时使用缓存,再将HTML字节数据经过一个流程解析为DOM树;
然后,浏览器会先从DOM树的根节点开始遍历每个可见节点,对每个可见节点找到适配的样式规则,最后渲染树构建完成;
最后,就是布局阶段,计算每个节点在窗口内的确切位置与大小,此阶段输出的是一个盒子模型,精确计算出每个元素的位置与大小,将测量值转换成像素值,布局完成后就可以渲染了,渲染出整个页面给用户。