zoukankan      html  css  js  c++  java
  • 输入url的过程发生了什么?

    1、DNS解析:将域名地址解析为IP地址

      -浏览器DNS缓存

      -系统DNS缓存

      -路由器DNS缓存

      -网络运营商DNS缓存

      -递归搜索:blog.baidu.com

        -.com于明霞查找DNS解析

        -.baidu于明霞查找DNS解析

        -blog于明霞查找DNS解析

        -再找不到就出错了

    2、TCP连接(和服务器建立连接):TCP三次握手

      -第一次,由浏览器发起,告诉服务器我要发送请求了!

      -第二次,由服务器发起,告诉浏览器我准备接收了,你赶紧发吧

      -第三次,由浏览器发送,告诉服务器,我马上就发了,准备接受吧

    3、发送请求

      -请求报文:HTTP协议的通信内容

    4、接收相应

      -响应报文

    5、渲染页面

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

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

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

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

      -根据渲染树来计算布局,计算每隔节点的集合信息(布局)

      -将每个节点颜色会知道屏幕上(渲染)

      注意:

        这五个步骤不一定按照顺序执行,如果dom树或cssom树都修改了(请求报文),可能会执行多次布局和渲染

        往往实际页面中,这些步骤都会执行多次的。

    6、断开连接:TCP四次挥手

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

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

      -第三次挥手:由服务器发起,高速浏览器,我东西发送完了(响应报文),你准备关闭吧

      -第四次挥手:由浏览器发起,告诉服务器,我东西接受完了,我准备关闭了(响应报文),你也准备关闭吧。

    奔跑的蜗牛
  • 相关阅读:
    VC连接MySql
    Vc数据库编程基础MySql数据库的表查询功能
    Vc数据库编程基础MySql数据库的表增删改查数据
    【Anroid】9.1 ListView相关类及其适配器
    【Android】8.4 让主题自适应不同的Android版本
    【Android】8.3 自定义主题
    【Android】8.2 动态选择和设置主题
    【Android】8.1 主题基本用法
    【Android】7.8 MyDemos项目的结构和主界面相关代码
    【Android】7.7 以后改为在Win10下开发了
  • 原文地址:https://www.cnblogs.com/xiaoyue-/p/10655535.html
Copyright © 2011-2022 走看看