您是否想过要在浏览器中加载网页需要做什么? 根据您的Internet连接,在网页中输入URL或地址,然后按“ Enter”按钮几乎可以立即转到该网页。 如果连接速度较慢,这可能是一个较慢的过程,但是您仍然可以相对较快地进入页面。 为了实现所有这些,幕后发生了什么? 按照下面的步骤,我们将向您显示发生了什么!
服务器到浏览器的通讯
用外行的话来说,当您在地址栏中输入链接或单击页面上的链接时,浏览器就会向托管该地址的服务器发出请求。 从那里下载页面资源,然后浏览器使用这些资源渲染页面并向您显示最终产品。
但是,这要复杂得多。
快速了解网址
当您输入网址(例如www.google.com)时,这就是您所看到的。 电脑看到其他东西。 键入并按Enter键后,它会通过域名服务器(DNS),并将其转换为IP地址-计算机可以读取的地址。 因此,尽管您可能会看到www.google.com,但浏览器会采用这种方式,将其通过DNS服务器,然后您实际上已连接到Google的许多IP地址之一,例如216.58.216.110 。 您实际上可以在地址栏中输入216.58.216.110 ,并最终到达同一位置。
在浏览器中获取网页
要使网页正确显示在浏览器中,有很多活动的部分。 但是,第一步是请求。 当您键入要访问的站点的地址(例如www.techjunkie.com)时,您将向Web服务器发出请求。 按下Enter键后,浏览器将连接到网络主机,并请求下载一堆文本文件。
下一步是Web服务器的响应。 这是服务器实际向浏览器提供资源的步骤。 浏览器请求它们(请求),服务器通过它们发送它们(响应)。 但是,浏览器如何知道是否需要的不仅仅是一个文件? 它通过称为解析的方法完成此任务。 换句话说,浏览器将获取第一个文档,以查找对其他文件的任何引用。 如果看到对另一个文件的引用,它也会下载该文件。 它要比这复杂得多,但这就是它查找 所有 所需文件的要旨。
接下来,必须构建它下载的所有信息。 它获取下载的原始HTML文档以及所有相关资源,并创建一种结构或树。 它将首先构建文档对象映射(DOM),本质上是页面上元素的结构或位置。 接下来,它构建CSS对象映射- DOM中元素样式的结构。 最后,它创建了Render Tree,该树主要使用DOM和CSS Object Map,将它们组合在一起,并为页面的结构和样式创建结构。
最后,页面随后呈现并显示给用户。 由于浏览器必须找出布局相对于屏幕的大小(例如,如果您使用平板电脑,智能手机或计算机,则页面大小会有所不同),因此此步骤中也需要进行大量计算。 但是一旦完成,您将在浏览器中显示一个最终的,希望看起来很好的页面。
这个过程实际上是非常惊人的-所有这些请求和计算都在几秒钟内完成,这当然取决于您的Internet连接速度。 但是在大多数情况下,即使一个网页上可以包含数百个文件,上述过程也很容易在10秒或更短的时间内完成。
闭幕
希望我们已经清楚地解释了您的Internet连接,浏览器和服务器如何协同工作以将网页直接发送到浏览器。 通过对所有这些技术如何相互缠绕和协同工作有更深入的了解,它不仅可以使您对幕后发生的事情有更好的了解,而且还可以帮助您解决与浏览器相关的所有问题。