当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

  1. 浏览器向DNS服务器查找输入URL对应的IP地址。
  2. DNS服务器返回网站的IP地址。
  3. 浏览器根据IP地址与目标web服务器在80端口上建立TCP连接
  4. 浏览器获取请求页面的html代码。
  5. 浏览器在显示窗口内渲染HTML。

  1. 窗口关闭时,浏览器终止与服务器的连接。
  2. 这其中最有趣的是第1步和第2步(域名解析)。我们输入的网址(域名)是IP地址的一个别名, 在一个DNS内,一个域名对应一个IP地址。域名系统(DNS) 的工作就是将域名与它的IP地址对应起来。DNS是分布式的,同时也是具有层级关系的。

    一个域名服务器虽然只记录一个小的子网内的主机名和IP地址, 但所有的域名服务器联合起来工作,就能将全网内的域名与它们的IP地址对应起来。 这也就意味着,如果一个域名服务器无法找到某个请求域名所对应的IP地址, 它就会向其它的域名服务器发出请求进行寻找。

    页面的请求过程:

    1、浏览器的url请求
    2、递归寻找DNS服务器
    3、连接目标IP并建立TCP连接
    4、向目标服务器发送http请求
    5、web服务器接收请求后处理
    6、web服务器返回相应的结果【无效、重定向、正确页面等】

    7、浏览器接收返回的http内容

    ================================前端解析分割线===========================================

    8、开始解析html文件,当然是自上而下,先是头部,后是body

    9、当解析到头部css外部链接时,同步去下载,如果遇到外部js链接也是下载【不过js链接不建议放在头部,因为耽误页面第一展现时间】

    10、接着解析body部分,边解析边开始生成对应的DOM树,同时等待css文件下载

    11、一旦css文件下载完毕,那么就同步去用已经生成的DOM节点+CSS去生成渲染树

    12、渲染树一旦有结构模型了,接着就会同步去计算渲染树节点的布局位置

    13、一旦计算出来渲染的坐标后,又同步去开始渲染

    14、10-13步进行过程中如果遇到图片则跳过去渲染下面内容,等待图片下载成功后会返回来在渲染原来图片的位置

    15、同14步,如果渲染过程中出现js代码调整DOM树机构的情况,也会再次重新来过,从修改DOM那步开始

    16、最终所有节点和资源都会渲染完成

    =========================================分析结束分割线==============================================

    17、渲染完成后开始page的onload事件
    18、整个页面load完成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值