建站小记1:输入一个网址之后都发生了什么

“通过输入一个网址后所发生的事情,来看看构成一个网站最基本的元素都有什么。”

摘要

Hello world.

从写这边文章开始,我的blog就算是基本诞生啦~ 好了,废话不多说。

太长不看版,一个可以通过网址进行访问的网站至少包含:1.网站服务器(即存放网站内容的地方)、2.域名(即网址)、3.HTTP服务器软件、4.网站内容。

下面我们就来详细聊聊吧,一切的一切都要从一串叫做域名东西开始说起。

域名即我们所说的网址,比如百度的域名是www.baidu.com。实际上这条域名本身并不能直接与百度的服务器进行通讯,如果我们ping一下这个网址就会得到一串神奇的数字202.108.22.5(如果你得到的数字与上面这个不同也没关系因为这并不重要 :-P)。可以试试将这串数字直接输入浏览器的地址栏中并回车,是不是打开了百度的首页? 这串数字就是传说中的IP地址,实际上浏览器正是通过这个IP地址与相对应的服务器进行通讯。

打个比方,我们一般所说的网址或者URL与IP地址的关系就像是地名与地址的关系,比如我们问故宫博物院(网址)在哪,有人会告诉我们是北京市东城区景山前街4号(IP地址)。告诉我们地址的那个人即DNS解析,它会将网址翻译成对应的IP地址。简单来说就是这样没错了,但有时候我们会发现不少网址的后面还会跟上“:8080”,地址栏里会出现一把小锁或者展示http、https。那么这些又是什么?这个我们以后慢慢聊。

回到正题,打开浏览器输入网址,我们便可以在窗口中看到网站所呈现的内容。那么是不是一个网站只要有域名和站点内容就可以了呢?然而实际上并不行,这里就可以引出我们神秘的HTTP服务器软件了。

正如上面说的那样,通过DNS的解析我们得到了一串IP地址,这就好比我们知道了老王家的门牌号码,但顺着地址找过去却发现没找到门在哪。而HTTP服务器软件正是建立服务器与IP地址之间的一个“门”,安装了它便相当于是给服务器开了一扇门不仅如此还顺带给分配了一个前台mm。

对于一些小型网站,可以将所有页面资源放置在同一个IP地址下面。比如www.baidu.com访问的是百度的搜索页面,而map.baidu.com则打开的是地图页面,但它们都是baidu.com,所以它们都可以使用同一个公网IP地址(这里只是使用baidu.com进行举例,实际情况并非如此)。既然都是一个公网IP地址那如何指引用户访问至正确的页面呢?这里我们的前台mm就要出场了,http服务器软件不但会监听所有对该IP地址进行访问的请求,而且还会监听这些请求的域名前缀,将不同前缀的域名指引到不同的文件目录。

这就好比我们访问“客厅.老王家”与“厨房.老王家”(域名),热心群众说(DNS解析)它们的地址都是xx市xx街xx号。当我们到达时,老王家的前台mm(http服务器软件)就根据我们的具体要求带去老王家不同的房间。

至于每个房间里有什么,那就是站点内容了。而站点内容与http服务器软件都需要部署在网站的服务器上。域名解析出的IP地址所指向的也正是这个服务器。

好了,这篇就写到这里吧。总结一下,一个可以通过域名访问的网站至少需要包含:1.域名即网址;2.http服务器软件;3.网站内容 以及 4.承载2.3所需要的服务器。

以上。