从网址URL输入之后会发生什么

一、解析URL

输入URL按下回车后,浏览器会提取输入的协议、域名、路径等信息,检测输入的URL是不是一个合法的链接或者搜索词。

二、 解析域名(DNS)

域名的构成如www.baidu.com.

最后的.为根域名(常忽略不写)
.com:一级域名(也叫顶级域名) com一般为营利组织 还有.net(网络提供商) .org(非营利组织)
baidu:二级域名
www:主机名

三、TCP三次握手建立连接

1.seq、syn、ack含义
seq:序列号 用于标识TCP报文段的顺序。
ack:确认号 用于确认已接收到的报文字段的序列号。
SYN:用于建立连接,等于1时表示这是一个连接请求或连接接受报文。
ACK:确认序号有效 为1时生效,为0时无效。
2.三次握手
1.第一次握手 客户端发送SYN包(seq=x)到服务器,等待服务器确认。
2.第二次握手 服务器接收客户端的SYN包,确认客户的SYN(ack=x+1),同时自己也发送一个SYN(seq=y)包,即ACK+SYN包。
3.第三次握手 客户端接收服务器传过来的ACK+SYN包,向服务器发送确认包ACK(ack=y+1)。
三次握手完成,客户端和服务器正式开始传递数据。

四、发送http/https请求

TCP连接建立好后浏览器会向服务器发送http/https请求
完整的请求包含三个部分:请求行+请求头部+请求体

五、服务器响应请求

响应头、和你请求到的数据

六、浏览器解析渲染页面

1、HTML解析为DOM树过程

浏览器无法直接理解和使用HTML,所以需要将HTML转换成可以理解的-DOM树,解析HTML是所有过程的开始。也就是这一步将HTML解析为DOM树

2、CSS解析为CSSOM树过程

在解析时,如果需要link链接的css,则先下载再解析,css的下载不会影响dom树的解析过程。将下载的css解析为cssom树

3、渲染树的构建

dom树和cssom完成后则会进行渲染树的构建,其中cssom的解析会阻塞渲染树的构建,也就是说cssom树完成时才能继续进行渲染树的构建。

4、HTML解析为DOM树过程

渲染树构建完成之后,浏览器会跟就渲染树来进行布局,浏览器中的元素的位置和大小确定了,这一步也可以叫做回流。
回流(reflow):也叫做重排。当元素的尺寸或者位置发生了变化,就需要重新计算渲染树,这就是回流,比如元素的宽高、位置,浏览器会重新渲染页面,称为回流,又叫重排(layout)。
因为回流是重新渲染页面所以消耗的性能较大,在日常操作中应该减少计算渲染树。回流一定会发生重绘。

5、绘制

将每个节点绘制在屏幕上,将布局阶段计算的页面图层转换为像素。
重绘(repaint):当元素样式的改变不影响页面布局时,比如元素的颜色,浏览器将对元素进行的更新,称之为重绘。

七、TCP四次挥手断开连接

FIN:请求释放连接
第一次挥手:客户端发送FIN(seq=u)数据包到服务器,用来关闭客户端到服务器的数据连接。
第二次挥手:服务器接收FIN包,向客户端发送ACK包(seq=v,ack=u+1,将序列号+1作为本次确认号)。
第三次挥手:服务器发送一个FIN(seq=w)包到客户端,请求客户端关闭连接。
第四次挥手:客户端收到服务器发送的FIN包,向服务器端发送ACK包(ack=w+1,将序列号+1作为本次确认号,seq=u+1,将确认号作为序列号发送),服务器收到ACK包后关闭连接,客户端等待一段时间后未收到服务器端消息证明其关闭后则关闭连接。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值