html连接到开始位置,从输入地址到页面加载过程中发生了什么?

主要过程如下:

1.DNS解析

2.建立TCP连接

3.发送HTTP请求

4.服务器接受请求并响应

5.浏览器解析并进行渲染

6.连接结束

一、DNS解析

简单来说就是将用户在浏览器中输入的域名解析成服务器的ip地址,将域名解析为ip地址的过程就叫做DNS解析。DNS解析过程是一个递归查询的过程,存在着多次TCP/UDP请求,占用资源严重,所以就涉及到DNS优化。

DNS优化的两种方式

1.DNS缓存,一般可分为:浏览器缓存、系统缓存、路由器缓存、IPS缓存、跟域名缓存、顶级域名缓存和主域名服务器缓存。

2.DNS负载均衡,DNS服务器接收到用户发来的请求,返回一个最合适的ip地址给用户,根据用户的地理位置和其他传输效率等因素分配,这个过程叫做DNS负载均衡,也叫做DNS重定向。

二、建立TCP连接

通过DNS解析拿到服务器地址之后,就需要客户端与服务器建立连接,这个过程是由TCP协议完成的,这个过程就是我们熟悉的三次握手:

第一次握手:客户端向服务器发生一个syn(x)包,并进入SYN_SENT状态,等待服务器确认。

第二次握手:服务器接受到客户端发送过来的syn包,同事必须曲儿客户端的SYN(ack=x+1),然后还需要向客户端发送一个SYN包syn(y),服务器进入SYN_RECV状态。

第三次握手:客户端接收到服务器发送的SYN+ACK包,并向服务器发送一个syn(ack=y+1)包,此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

三、发送HTTP请求

在客户端与服务器连接成功后,客户端需要告诉服务器做什么,即向服务器发送一个HTTP请求,一个HTTP请求包含三个部分:请求行、请求报头、请求正文。

四、服务器接受请求并响应

服务器接受到客户端发送过来的请求后,经过处理,返回相应报文,相应报文也包含三个部分:状态码、响应头部、响应正文。

五、浏览器解析并进行渲染

客户端在接收服务器传输过来的文件之后,便由浏览器的引擎开始解析文件并在屏幕中渲染,其步骤主要如下:

1. 接收字节,处理HTML并构建出DOM树;

2. 处理CSS文件并构建出CSSOM树;

3. 将DOM树和CSSOM树结合起来并构成渲染树;

4. 根据渲染树来布局,并计算出各个元素的几何信息;

5. 在屏幕中渲染像素,并绘制节点。

六、连接结束

当客户端从服务器那接收完所有数据之后,便会向服务器发送一个信号,请求与服务器断开连接,这就是我们常说的四次挥手过程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值