在浏览器中输入url到显示所经历的过程

 1、用户在浏览器中输入url地址

 2、浏览器解析域名得到服务器ip地址(浏览器会访问host解析,如果存在就直接取出对应的ip地址,如果没有就开启一个DNS域名解析器)

     hosts解析hosts文件通常位于操作系统中的一个本地文件,用于将特定的域名映射到指定的IP地址。当在浏览器中输入域名时,浏览器会首先检查操作系统的hosts文件,看是否有该域名的映射记录。如果找到了对应的映射记录,浏览器将使用hosts文件中指定的IP地址来访问网站。

   DNS域名解析器:DNS(Domain Name System,域名系统)解析服务器是一种网络服务器,负责将域名转换为对应的IP地址。它充当了互联网中域名与IP地址之间的桥梁。在互联网上,每个设备都有一个唯一的IP地址用于标识和访问。然而,人们更容易记住和使用具有易于理解和记忆的域名。因此,当我们在浏览器中输入一个域名时,需要将它解析为对应的IP地址才能建立连接。DNS解析服务器的主要功能是进行域名解析。它们维护着一个包含大量域名和其对应IP地址的数据库,当接收到域名解析请求时,会根据查询的域名在数据库中查找相应的IP地址,并返回给请求方。这样,用户就可以使用域名来访问网站,而无需记住复杂的IP地址。 


3、TCP三次握手建立客户端和服务器的连接:第三次握手的报文已经可以携带数据了。
4、客户端发送HTTP请求获取服务器端的静态资源
5、服务器发送HTTP响应报文给客户端,客户端获取到页面静态资源
6、TCP四次挥手关闭客户端和服务器的连接

        四次挥手过程如下:
第一次挥手:客户端--->服务器 FIN=1,ack=1,seq=u 客户端状态变为FIN_WAIT_1
第二次挥手:服务器--->客户端 ACK=1,ack=u+1,seq=v 服务器状态变为CLOSE_WAIT,TCP进入半关闭状态
第三次挥手:服务器--->客户端 FIN=1,ACK=1,ack=u+1,seq=w 服务器状态变为LAST_ACK
第四次挥手:客户端--->服务器 ACK=1,ack=w+1,seq=u+1 客户端状态变为TIME_WAIT,此时TCP未释放,需要等待计时器计时完成后,客户端状态变为CLOSED


7、浏览器解析文档资源并渲染页面

具体过程:a. 获取HTML文件:浏览器向服务器发送请求,获取HTML文件。                                           b. 构建DOM树:浏览器解析HTML文件,构建DOM(Document Object Model)树。DOM树是表示HTML文档结构的树状结构,它将标记语言转换为可供编程语言(如JavaScript)操作的对象模型。                                                                                                                                                    c. 构建CSSOM树:同时,浏览器还会解析CSS文件,构建CSSOM(CSS Object Model)树。CSSOM树表示CSS样式规则和元素之间的关系。                                                                              d. 合并DOM和CSSOM:浏览器将DOM树和CSSOM树合并,创建渲染树(Render Tree)。渲染树是DOM元素和其样式规则的结合,它只包含需要显示在屏幕上的元素。                                        e. 布局计算(Layout):浏览器计算渲染树中每个元素在屏幕上的位置和大小,并确定页面的布局。                                                                                                                                                    f. 绘制(Painting):浏览器使用绘图引擎将渲染树中的元素绘制到屏幕上,形成最终的页面呈现。                                                                                                                                                        g. 重绘与重排:如果页面的某个元素发生变化(例如样式改变、动画效果),浏览器会根据需要进行重绘(只更新像素颜色)或重排(重新计算布局和绘制)。重绘和重排的频率应尽量降低,以提高页面性能。                                                                                                                               h. JavaScript解析与执行:在渲染过程中,如果遇到JavaScript代码,浏览器会逐行解析并执行它们。JavaScript可以操作DOM树和CSSOM树,改变页面的内容和样式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
浏览器输入URL显示页面的过程大致可以分为以下几个步骤: 1. DNS解析:浏览器首先会解析URL的域名部分,将其转换为对应的IP地址。它会先检查浏览器缓存是否存在该域名的解析结果,如果没有,就会向本地操作系统或者网络的DNS服务器发送查询请求,获取对应的IP地址。 2. 建立TCP连接:一旦获取到目标服务器的IP地址,浏览器会通过TCP/IP协议与服务器建立连接。这个过程浏览器会与服务器进行三次握手,确保双方能够正常通信。 3. 发送HTTP请求:建立TCP连接后,浏览器会发送HTTP请求给服务器。请求包含了请求行(包括请求方法、URL路径和HTTP协议版本)、请求头(包含一些附加信息,如User-Agent、Cookie等)以及请求体(一般用于POST请求,传递数据)。 4. 服务器处理请求:服务器接收到浏览器发送的HTTP请求后,会根据请求的内容进行处理。处理过程可能包括查询数据库、读取文件等一系列操作,最终生成需要返回给浏览器的数据。 5. 接收响应并渲染页面:服务器处理完请求后,会将生成的响应数据封装成HTTP响应,并发送给浏览器浏览器接收到响应后,会根据响应头的信息判断响应的内容类型,然后对内容进行解析和渲染。对于HTML页面,浏览器会解析HTML结构、加载CSS和JavaScript文件,并根据这些文件渲染出最终的页面。 6. 关闭TCP连接:页面渲染完毕后,浏览器会关闭与服务器的TCP连接。如果页面存在其他资源(如图片、样式表、脚本等),浏览器会继续发送相应的HTTP请求获取这些资源,并进行相应的渲染。 这就是浏览器输入URL显示页面的基本过程。其涉及到的具体细节和技术可以更加深入和复杂,但以上步骤概括了整个过程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值