Web开发

首页 » 常识 » 诊断 » 从输入网址到网页显示,原理超详细解析
TUhjnbcbe - 2020/9/15 19:45:00
前言

想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题。

还别说,这真是挺常问的这题,前几天坐在我旁边的主管电话面试应聘者的时候,也问了这个问题。

这次,小林我带大家一起探究下,一个数据包在网络中的心路历程。

每个阶段都有数据包的「心路历程」,我们一起看看它说了什么?

正文

接下来以下图较简单的网络拓扑模型作为例子,探究探究其间发生了什么?

简单的网络模型01孤单小弟——HTTP

浏览器做的第一步工作是解析URL

首先浏览器做的第一步工作就是要对URL进行解析,从而生发送给Web服务器的请求信息。

让我们看看一条长长的URL里的各个元素的代表什么,见下图:

URL解析

所以图中的长长的URL实际上是请求服务器里的文件资源。

要是上图中的蓝色部分URL元素都省略了,哪应该是请求哪个文件呢?

当没有路径名时,就代表访问根目录下事先设置的默认文件,也就是/index.html或者/default.html这些文件,这样就不会发生混乱了。

生产HTTP请求信息

对URL进行解析之后,浏览器确定了Web服务器和文件名,接下来就是根据这些信息来生成HTTP请求消息了。

HTTP的消息格式

一个孤单HTTP数据包表示:“我这么一个小小的数据包,没亲没友,直接发到浩瀚的网络,谁会知道我呢?谁能载我一层呢?谁能保护我呢?我的目的地在哪呢?”。充满各种疑问的它,没有停滞不前,依然踏上了征途!

02真实地址查询——DNS

通过浏览器解析URL并生成HTTP消息后,需要委托操作系统将消息发送给Web服务器。

但在发送之前,还有一项工作需要完成,那就是查询服务器域名对于的IP地址,因为委托操作系统发送消息时,必须提供通信对象的IP地址。

比如我们打电话的时候,必须要知道对方的电话号码,但由于电话号码难以记忆,所以通常我们会将对方电话号+姓名保存在通讯录里。

所以,有一种服务器就专门保存了Web服务器域名与IP的对应关系,它就是DNS服务器。

域名的层级关系

DNS中的域名都是用句点来分隔的,比如

1
查看完整版本: 从输入网址到网页显示,原理超详细解析