专家见解 给网站专业人士的建议

当你在浏览器中输入一个URL时会发生什么呢?

打开浏览器,在地址栏中输入一个URL,从一个页面导航到下一个页面,我们对此已经习以为常,以至于忘记了这个微不足道的点击是多么的深藏不露。

了解在URL在浏览器中的工作原理,不仅可以让您的好奇心得到满足,还能以备不时之需。如果您正好需要一个网站,那可巧了,它可以帮助您更好地建立网站,甚至在网站出错时,它还可以协助您找出网站出错的原因。

URL是用来做什么的?

了解网络导航的入门课就是要明确URL的定义以及它的用途。

URL,即“uniform resource locator”( “统一资源定位器”),这可能有些晦涩难懂,但其实它通常指的是一个网站的地址。

因此,URL的作用是准确定位一个特定的 “资源”,一个文件,无论是网页、图像、MP3文件或任何其他在互联网上的可以找到东西。

但如果我们把URL与实实在在的地图定位作类比,它的功能显然更为复杂。下面我们讲更深入地为您解析URL的工作原理。

URL的工作原理

一个URL实际上是由好几个不同的部分组成的。URL的核心是域名,它的形式是 “example.com”。

Le nom de domaine dans l’URL

URL通常由一个顶级域名,即 “top-level domain” (例如“.fr”或“.com”),和一个二级域名(在我们举出的例子中就是 “example”)组成。一般情况下还有一个子域,最常见的是www,当然也可以是“hop”、“docs”、“news”等等。

这就会告诉您的浏览器在DNS系统中寻找您要找的网页或其他资源的位置。

URL中的协议

在域名之前,还会有一个协议,要么是HTTP要么是HTTPS。这会告知您的浏览器应该使用何种协议来与服务器建立通信。

URL中的路径

路径是紧跟URL域名之后的那个部分。它会告诉域名对应的服务器您要找的文件夹和文件名。

URL的其他组成部分

URL也可能还含有其他部分,如查询,它以“?”开头,后面跟着特定参数。也可能是一个 “#”,后面跟着一个页面上的锚点名称,让您能够直接跳到网页上的一个特定位置。

现在您已经对URL的组成部分及其用处有了一定的了解,接下来我们将为您深入介绍URL的工作原理。

第一步:IP地址查询

浏览器的首要任务是确定您试图访问的网络资源的服务器IP地址。浏览器无法仅根据您所输入的URL或域名来定位资源。

为此,它必须将URL中的域名翻译成对应服务器的IP地址。假如URL是一个人类可读的地址,那IP地址就对应所有连接到互联网的计算机中其中一个的特定位置。

域名系统(或称DNS)是在域名和IP地址之间建立对应关系的系统,因此,浏览器将URL提交给DNS,而DNS又会返还给浏览器含有相应资源的服务器IP。

深入了解DNS

第二步:与服务器的初始连接

一旦你的浏览器确认了网络服务器的位置,它们之间就可以建立连接。此处所建立的第一层连接使用一种叫做传输控制协议的协议,即TCP(Transmission Control Protocol) ,这也是互联网的基本协议之一。 

要想您的浏览器和试图访问的URL网络服务器之间可以发送或接收任何文件,这种连接是必不可少的。该连接主要是指在浏览器和网络服务器之间发送和接收数据,TCP协议负责确保这些数据能通过路由器、ISP网络和互联网其他层面。

一旦连接建立起来,您的浏览器就可以向网络服务器发送和接收信息。当连接仍在建立过程中时,这些 “数据包 “基本上是空的;但一旦连接建立起来,您的浏览器就可以与网络服务器交换应用数据。也就是说,它可以为网络发送和接收数据。

第三步:使用HTTP协议

在上一节中,当我们谈到使用TCP协议连接到服务器时,您可能会感到些许困惑,因为我们才说了“HTTP”也是一种协议。这是因为TCP是用于在互联网上连接两台计算机的互联网协议,而HTTP是用于交换网络数据的网络协议。

为避免过大的信息量让屏幕前的您头晕目眩,简单地来说,HTTP是一套用于交换网络数据、超文本文件、超链接和一系列网络特定对象的程序。这些功能基本上是我们今天所使用的互联网的同义词,但实际上是网络的特有功能。

第四步:通过HTTPS(也就是带有TLS/SSL的HTTP)进行连接

通常情况下,当您连接到一个网站时,您很有可能被迫使用HTTPS而不是HTTP。事实上,HTTPS并不是一个完全不同于HTTP的协议,它只是带有一个额外加密层的HTTP协议罢了。也就是说,如果您只使用了HTTP,网络数据的交换是可以说是“透明的”,或者换句话说,任何人都可以得见。互联网或HTTP连接并没有什么特别之处,只是直属或专属于所连接的两个端点而已。互联网和网络是分布式的,而这正是它们的优势所在。因此,网络数据在从服务器到您的浏览器这条迂回路径上被转发、路由最终被拦截。
 

此刻正是HTTPS登场的好时机了。因为HTTPS增加了另一个协议—TLS(我们通常对它的另一个名字SSL更为熟悉),该协议让服务器和浏览器之间发送和接收的所有数据都不可读,使得除了这二者之外的其他人都无法得见。TLS/SSL通过对数据进行加密来达到这一目的,这意味着使用秘密代码对数据进行编码。

TLS/SSL使用公开密钥加密,因此数据的发送方和接收方可以解密数据,而不必事先交换加密方法。

当您在地址栏中输入一个URL并使用HTTPS协议时,您的浏览器和您试图访问的服务器都会使用该协议,通过TLS/SSL建立安全连接。

第五步:接收网页内容

最后,只要连接通过TCP、HTTP和HTTPS建立起来,你的浏览器将从您指定地址的网络服务器上接收数据。如果那是一个网页,该数据将是HTML(超文本标记语言)格式,这是一种网络特有的数据格式。

然后,如果您点击页面上的任何超链接,输入任何要发送给服务器的信息(例如,如果您填写了一个注册登记表或输入了支付信息),那么,您的网站上就会有很多的超链接,这些信息都通过HTTP发送和接收。

在许多网站上,HTML文档还引用了除自身以外的特定资源,以运行网页加载时的页面。代表例子就是CSS,即样式表。它可以储存颜色、字体、背景图像等信息,并应用于某个特定页面或网站的所有页面。这可以确保网站页面外观的统一性,并保持HTML文档的精简,还不必在每个HTML页面上都复制粘贴这些指示。

CSS是一个存储在同一个网络服务器上的单独文件,您的浏览器需要发出单独的HTTP请求指令才可调用它。

客户端脚本

HTML文件也可以发送代码,您的浏览器会负责执行。

JavaScript将脚本发送到您的电脑,并在浏览器中运行,它不仅能够调整页面,甚至还能让您与网页互动。响应式网页能根据您的浏览器窗口大小而进行适当的调整,窗口大小通常与您的屏幕大小(桌面、平板电脑或手机)相适应,以便您能拥有最佳的阅读体验和最高的舒适程度。

这些在您的计算机浏览器中运行的应用程序被称为网络应用程序。

服务器端脚本

要想使网页更为动态化,还有一种方法,那就是在服务器上使用诸如PHP这类的脚本语言。它们在网络服务器上运行,并根据浏览器的情况,也就是用户的情况会修改发送的内容。

在这种情况下,只要在浏览器的地址栏中输入一个URL,就会触发服务器上一个远程脚本的执行。

当您在浏览器中输入一个URL时会发生什么?

现在您已经知道在浏览器的地址栏中输入一个URL后会发生的一系列连锁事件了。即使身份互换,当您需要把资源提供给正在苦苦寻觅的其他互联网用户时,您就能更加高效没有犹疑,因为这些内容将通过各种承上启下的协议和程序最终传送成功。
 

如果您也准备好制作一个成千上万网民输入的URL,您将需要一个域名,一个网页代管服务器(虚拟主机),以及一个TLS/SSL证书。这一切Gandi都可以为您提供。