• 浏览器地址栏输入url地址后发生的一系列事情


    浏览器地址栏输入url地址后发生的一系列事情

    1. 浏览器自动补全协议、端口(补全的是http协议是80端口,补全的是https协议是443端口)
    2. 浏览器自动完成url编码(百度搜索wd=“百度”,将“百度”进行url编码)
    3. 浏览器根据url地址查找本地缓存,根据缓存规则看是否命中缓存,若命中缓存则直接使用缓存,不再发出请求(一般来说页面地址不会缓存)
    4. 通过DNS解析找到服务器的IP地址
    5. 浏览器向服务器发出建立TCP连接的申请,完成三次握手后,连接通道建立
    6. 若使用了HTTPS协议,则还会进行SSL握手,建立加密信道。使用SSL握手时,会确定是否使用HTTP2
    7. 浏览器决定要附带哪些cookie到请求头中
    8. 浏览器自动设置好请求头、协议版本、cookie,发出GET请求
    9. 服务器处理请求,进入后端处理流程。完成处理后,服务器响应一个HTTP报文给浏览器。
    10. 浏览器根据使用的协议版本,以及Connection字段的约定,决定是否要保留TCP连接。
    11. 浏览器根据响应状态码决定如何处理这一次响应
    12. 浏览器根据响应头中的Content-Type字段识别响应类型,如果是text/html,则对响应体的内容进行HTML解析,否则做其他处理
    13. 浏览器根据响应头的其他内容完成缓存、cookie的设置
    14. 浏览器开始从上到下解析HTML,若遇到外部资源链接,则进一步请求资源
    15. 解析过程中生成DOM树、CSSOM树,然后一边生成,一边把二者合并为渲染树(rendering tree),随后对渲染树中的每个节点计算位置和大小(reflow),最后把每个节点利用GPU绘制到屏幕(repaint)
    16. 在解析过程中还会触发一系列的事件,当DOM树完成后会触发DOMContentLoaded事件,当所有资源加载完毕后会触发load事件
  • 相关阅读:
    每日一题 53. 最大子数组和(中等,数组)
    快鲸智慧社区系统:高效解决传统物业服务问题
    驱动开发DAY4
    数据结构——B树
    C++的向上转型
    支付宝sdk商户私钥 如何生成?
    多臂老虎机
    Matlab计算随模拟时间变化的热导率
    做了大量数据分析,数据分析思维还有没有意义
    OpenMP 教程(一) 深入剖析 OpenMP reduction 子句
  • 原文地址:https://blog.csdn.net/weixin_45463061/article/details/126600921