zoukankan      html  css  js  c++  java
  • 从输入url地址到刷新页面经历来什么?最简单的方式告诉你

    步骤

    • NDS解析,将域名地址解析为ip地址 (第一步)
      • 浏览器DNS缓存
      • 系统DNS缓存
      • 路由器DNS缓存
      • 网络运营商DNS缓存
      • 递归搜索 如 blog.baidu.com
        • .com 域名下查找DNS解析
        • .baidu
        • blog
        • 出错
    • TCP连接,TCP三次握手 (第二步)
      • 第一次握手,由浏览器发起,告诉服务器我要发送请求了
      • 第二次握手,由服务器发起,告诉浏览器,你赶紧发送
      • 第三次握手,由浏览器发起,告诉服务器,我马上就发了,准备接收了。
    • 发送请求 (第三步)
      • 请求报文:http 协议的通信内容
    • 接收响应 (第四步)
      • 响应报文
    • 渲染页面 (第五步)
      • 遇见html 标记,浏览器调用html解析器解析成token并构建成dom树。
      • 遇见style/link标记,浏览器会调用css解析器,处理css标记并构建cssom树
      • 遇见script标签,会调用script解析器,处理script代码。
      • 将dom树和cssom树合并成渲染树
      • 根据渲染树来计算布局,计算每个节点的几何信息(布局)
      • 将各个节点的颜色绘制到屏幕上(渲染)

    注意 这五个步骤,不一定按顺序执行,可能反复执行,或者执行多次布局和渲染,往往在实际页面中,这些步骤会执行多次。

    • 断开连接(Tcp的四次挥手)(第六步)
      • 第一次挥手: 由浏览器发起,告诉服务器,我东西发完来(请求报文),能准备关闭吧。
      • 第二次挥手:由服务器发起,告诉浏览器,我东西接收完来(请求报文),我准备关闭来,你也准备吧。
      • 第三次挥手:由服务器发起,告诉浏览器,我东西发送完来 (响应报文),你准备关闭吧。
      • 第四次挥手:由浏览器发起,告诉服务器,我东西接收完了,我准备关闭来(响应报文),你也准备吧。
  • 相关阅读:
    cdoj793-A Linear Algebra Problem
    C语言各种数据类型取值范围
    taro 在components文件夹中 新建组件时,组件支持自定义命名,但是不能大写开头
    taro 不支持render中,使用函数多条件渲染
    taro 引用相对路径图片
    taro CSS Modules 的使用
    taro refs引用
    taro 环境判断
    input 禁止 复制 粘贴 剪切 操作
    windows 系统中 use arrow keys怎么操作?
  • 原文地址:https://www.cnblogs.com/yaogengzhu/p/10968082.html
Copyright © 2011-2022 走看看