• 浏览器解析URL全部流程


    1,解析URL:将输入的URL解析成协议,域名,路径等信息

    2,解析DNS:将域名解析成对应的IP( ip 指的是网络为每一台电脑分配的一个地址。由于 ip 地址不容易被记住,所以有了域名,浏览器拿到域名后,首先要先把域名解析成 ip,然后找到 ip 对应的机器。解析域名通常使用的方法是 DNS 解析,为了让查找过程更高效,浏览器和操作系统都会将每次的解析结果缓存起来,在下次解析的时候,就会先从缓存中去查找 ip(解析方式:查找本地缓存中 ——> DNS数据缓存中 ——> DNS解析对应ip)。浏览器首先会从本地缓存中找,如果找到就用缓存,如果找不到就会向DNS服务器发送请求,获取对应的IP

    3, 建立TCP连接:浏览器根据协议选择相应的端口号与服务器建立TCP连接,如果URL是HTTP协议,则会先进行SSL/TLS握手然后进行安全连接

    4,发送请求:浏览器构建请求报文,请求报文包括请求行,请求头,请求体等信息,然后将请求报文发送给服务器

    5,服务器处理请求:服务器接受到请求报文后,然后去调用相应的后端程序,去查询数据库等操作

    6,接受HTTP响应:服务器将处理完的信息包装成相应报文,然后发送给浏览器

    7,浏览器解析和渲染响应体:浏览器接受到相应报文,首先检查HTTP的响应状态码,去判断请求的成功与否,然后去解析响应报文

    8,页面布局和渲染:浏览器将HTML解析成dom树,将css解析成CSSOM树,将它们合成RenderTree,计算它们大小和在页面的具体位置,然后将它们布局到页面上

    9,加载其他资源:去加载页面存在的其他加载资源,如css文件,js文件和图片等,浏览器根据HTML文档解析的结果,去重新发送请求

    10,执行js代码:HTML中包含js代码,浏览器根据解析结果去执行js代码,从而实现用户交互效果

    11,用户交互:用户可以和页面互动,去实现js代码功能,也可以去点链接等去重新发送请求,重复执行上述代码

    12,断开连接:当用户关闭浏览器窗口或输入新的URL或服务器响应报文connection字段指定断开连接,浏览器会断开与服务器的连接。

  • 相关阅读:
    Kaadas凯迪仕助力亚运盛会,尽展品牌硬核科技与智能锁行业风采
    SpringSecurity源码学习三:认证
    网络面试-0x08如何理解CDN?
    数据库分析工具explain
    RabbitMQ 消息中间件与集群的部署
    获奖作品展示 | 2023嵌入式大赛AidLux系列作品精彩纷呈
    第三部分:JavaScript
    根据token和url、参数判断时间内是否重复提交
    C# 图解教程 第5版 —— 第11章 结构
    软件设计师学习笔记11-磁盘管理+IO管理软件+文件管理+作业管理
  • 原文地址:https://blog.csdn.net/qq_43532275/article/details/132715674