浏览器输入网址并打开的整个过程

一、 输入导航栏输入网址(jd.com)

二、域名解析

域名解析就是有域名到ip地址的过程,一般分为以下几步:

  1. 浏览器缓存,浏览器会缓存DNS(Domain Name System,域名系统)一段时间
  2. 系统缓存,从本机host中查找是否有对应的域名及ip
  3. 路由器也会缓存域名信息
  4. ISP(baiInternet Service Provider,即因特网服务提供商) DNS缓存,到互联网服务提供商的DNS里查找缓存,ISP的DNS缓存时间一般是1个小时。前后2次间隔1个小时的话,他就去域名的DNS上重新取得数据。这里说的是最近一次和当前的比较,也就是说如果时间差距较大,就重新去域名的DNS服务器上找。
  5. 如果按照以上信息都找不到域名信息,就会从域名的根服务器去查找域名对应的ip

三、网络传输通信

三次握手

拿到服务器ip之后要先建立连接才能通信,首先是三次握手。三次握手的目的是“为了防止已经失效的报文突然传输到服务器端,因而导致的错误”

客户端:在吗,想去找你玩呀
服务端:在的,欢迎
客户端:好的马上到

三次握手完成后,客户端与服务端建立稳定的虚拟通道。客户端就可以将一个http请求打包,通过tcp协议发送给服务器

服务器返回

服务器解析,基于linux或者window,系统里面安装了web sever的应用,web sever又叫web服务器,专门处理网上信息浏览服务。
web服务器接收到请求,根据http协议解析并处理,返回响应信息html文档或者其他结果。
有Apach,nigx,Node等web服务器

客户端拿到数据

四次挥手

四次挥手,别名连接终止协议,其性质为终止协议。
通信完成之后通过四次挥手拆除tcp链接,客户端与服务器端均可发起。

四、页面构建阶段

页面构建的目标是为了建立Web应用的UI,页面构建主要分为2个阶段

  1. 解析HTML代码并构建文档对象模型
  2. 执行JavaScript代码

浏览器解析DOM时是自上而下的执行,采取深度遍历的策略。当遇到外部css文件或者图片时,会采用异步加载,并不会影响HTML加载。

回流是dom节点和样式都已经加载完成,由于新的样式下载下来或者script脚本执行,生成新的样式,这个过程称为回流。新生成的样式重新写入并更新到页面,这个过程称为重绘。也就是说回流必然导致重绘。

当浏览器在页面构建阶段遇到脚本节点,它会停止执行HTML的DOM构建,开始执行JavaScript代码。

五、总结

刚构思的时候觉得没什么东西,写起来越写越多,还有许多地方需要完善,慢慢补充。如有问题请联系我~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值