url地址请求的完整过程

从一个url地址到最终页面渲染发生的事情?

1.DNS解析:将域名地址解析成ip地址

    --- 浏览器DNS缓存css

    --- 系统DNS缓存浏览器

    --- 路由器DNS缓存缓存

    --- 网络运营商DNS缓存服务器

    --- 若都没找到则进行递归搜索: 例:blog.baidu.com网络

        == .com域名下查找DNS解析dom

        == .baidu域名下查找DNS解析布局

        ==  blog域名下查找DNS解析url

        ==   出错了blog

 

2. TCP链接 :TCP三次握手

    ---- 第一次握手: 由浏览器发起,告诉服务器我要请求数据了递归

    ---- 第二次握手: 由服务器发出,告诉浏览器我准备好要接受数据了,你能够发送请求了

    ---- 第三次握手: 由浏览器发出,告诉服务器我立刻就发,你准备接受

3. 发送请求

    ---- 发送请求:HTTP协议的通讯内容

4. 接受响应

    ---- 响应报文

5. 渲染页面

    ---- 碰见HTML标记,浏览器调用HTML解析器解析成Token并构建成dom树

    ---- 碰见style / link 标记,浏览器调用css解析器,处理css标记并构建cssom树

    ---- 碰见script标记,调用JavaScript解析器处理script代码(绑定事件,修改dom树、cssom树。。。。)

    ---- 将dom树和cssom树合并成一个渲染树

    ---- 根据渲染树来计算布局,计算每一个节点的意义(布局)

    ---- 将各个节点的颜色绘制到屏幕上(渲染)

    注意:  这几个步骤不必定是按照顺序执行,若是dom树被修改了就会执行屡次布局和渲染,每每实际页面这些步骤都会执行屡次

6.断开链接:TCP四次挥手

    第一次挥手:由浏览器发起,发送给服务器,我东西发完了(请求报文),你准备关闭吧

    第二次挥手:由服务器发起,告诉浏览器,我东西接受完了(请求报文),我准备关闭了,你也准备好

 

    第三次挥手:有服务器发起,告诉浏览器,我东西发送完了(响应报文),你准备关吧

    第四次挥手:由浏览器发起,告诉服务器,我东西接受完了,我准备关了,你也准备好吧

相关文章
相关标签/搜索