从用户输入网址到看到整个页面,中间发生了哪些事情

面试题:从用户输入网址到看到整个页面,中间发生了哪些事情


 http请求阶段
 http响应阶段

(Request请求:DNS解析。TCP的三次握手和四次挥手。http和https的区别(HTTP2))
 。浏览器渲染阶段

(响应阶段:http状态码,304缓存,http报文) 服务端向浏览器发送源代码(字符串 html)【在浏览器sourcses下可看】

浏览器拿到代码后再内存条中开辟出一块栈内存。用来给代码的执行提供环境;同时分配一个主线程去一行行的解析和执行代码   进栈执行(执行完一行出栈继续进栈执行第二行,当浏览器遇到link script img等请求后,都会开辟全新的线程去加载资源文件,浏览器是多线程的,js是单线程的,是右浏览器分配额外线程)        

  • 浏览器渲染阶段
  • 进程 打开的应用程序(饭店)
  • 线程 程序的每个事情(多个服务员)
  • 栈内存 执行环境供我们执行代码

现代操作系统比如mac ,unix,linux,window等,都是支持多任务的操作系统

  • 单核cpu执行多任务:操作系统轮流然各个任务交替执行,任五1至此那个0.01s,切换到任五2,执行0.01s,切换任务3

     。。。。犹豫cpu的执行速度实在太快了,我们感觉就像所有任务同时执行一样

  • 多核cpu执行多任务:真正的并行执行多任务只能在多cpu中实现,但是由于任务数量远远多于cpu的核心数量,所以操作系统也会自动把

很多任务轮流调度到每个核心上执行
有些进程还远不止同时干一件是,要同时干多件事情,就需要同时运行多个字任务,我们把进程内的这些字任务称为 '线程'

多个线程可以同时执行,多线程的执行方式和多进程的执行方式是一样的,也是有操作系统在多个线程之间快速切换,让每个线程都短暂的交替运行,看起来就像是同时执行一样

浏览器内核:?

 

 

  渲染阶段

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值