浏览器从输入URL到页面呈现的过程

浏览器从输入URL到页面呈现的过程

当我们在浏览器中输入一个网址,比如https://www.baidu.com/,浏览器就会加载出百度的主页。那么浏览器背后完成的具体是怎么样的呢?本文将简要介绍之。

一个标准的URL格式遵循一定的语法规则:

scheme://host.domain.port/path/filename

各部分解释如下:

scheme——定义因特网服务类型。比如http,ftp,file,https

host——定义域主机(http默认的域主机是www)

domain——定义了域名,比如:baidu.com

port——定义主机上的端口号(http默认端口80)

path——定义资源在主机上的路径

filename——定义资源文件名

从打开浏览器输入网址到最终的网页呈现在浏览器中,经历了哪些过程呢?

浏器从输入URL到页面呈现的程可以分为以下几个步骤:

1)DNS解析:浏览器会先解析URL中的域名,查询该域名对应的IP地址。如果浏览器缓存中有该域名的IP地址,则直接使用缓存中的IP地址,否则通过DNS服务器进行解析。

浏览器将主机名转换为对应的IP地址,这个过程称为DNS解析。浏览器会首先检查本地DNS缓存,如果找到匹配的IP地址,则直接使用;如果没有,则会向DNS服务器发送请求,获取对应的IP地址。

2)建立TCP连接:浏览器使用解析得到的IP地址与服务器建立TCP连接。TCP协议确保数据在传输过程中不会丢失或损坏。

IP地址是Internet Protocol Address(互联网协议地址)的缩写,是指在网络中用于识别和定位设备的一串数字。它是一个由32位二进制数(IPv4)或128位二进制数(IPv6)表示的地址,用于唯一标识一个设备在网络中的位置。

IPv4地址由4个8位字段组成,每个字段用点分隔(例如192.168.0.1)。IPv6地址由8组16位字段组成,每组字段用冒号分隔(例如2001:0db8:85a3:0000:0000:8a2e:0370:7334)。

3)发送HTTP请求:建立TCP连接后,浏览器会发送一个HTTP请求给服务器。这个请求中包含了浏览器想要获取的资源的信息,如请求的方法(GET、POST等)、请求头部、请求参数等。

请求的内容包括请求方法(如GET、POST)、请求头部(如User-Agent、Cookie)和请求体(对于POST请求)等。

4)服务器处理请求:服务器接收到浏览器发送的HTTP请求后,会根据请求的内容进行相应的处理。服务器可能会根据请求的URL返回相应的HTML、CSS、JavaScript等文件,也可能会进行一些其他的业务逻辑处理如读取数据库。

5)接收响应:服务器处理完请求后,会将处理结果封装成HTTP响应返回给浏览器。响应中包含了响应头部和响应体,响应头部包含了状态码、服务器信息和其他的一些元数据,响应体则包含了实际的响应内容。

6)解析HTML:浏览器接收到响应后,会开始解析HTML文件,构建DOM树。解析过程中会逐步加载外部资源,如CSS和JavaScript文件、图片。

7)页面渲染:浏览器根据解析得到的DOM树和CSS样式信息,计算出每个元素在页面中的位置和样式,并进行页面渲染。渲染过程包括布局(确定元素在页面中的位置)和绘制(绘制元素的样式)。

8)执行JavaScript:如果HTML中包含了JavaScript代码,浏览器会执行这些代码,对页面进行动态交互和更新。

9)完成页面加载:当页面的HTML解析、CSS渲染和JavaScript执行完成后,页面加载完成,用户可以与页面进行交互。

以上是浏览器从输入URL到页面呈现的基本过程,不同的浏览器可能会有一些优化和特殊处理的步骤,如一些优化措施,如预解析DNS、缓存资源、并行下载等,以提高页面加载速度和用户体验。但整体流程大致相同。

进一步了解

经典面试题:从 URL 输入到页面展现到底发生什么?https://zhuanlan.zhihu.com/p/57895541

渲染页面:浏览器的工作原理 https://developer.mozilla.org/zh-CN/docs/Web/Performance/How_browsers_work


 

猜你喜欢

转载自blog.csdn.net/cnds123/article/details/133294282