访问一个网站时发生了什么
2019年5月4日
1.开始
- 打开浏览器, 地址栏输入xxx.com, 我们就会看到一些自己电脑上本没有的东西 . 我们就称这个过程为访问了一个网站,例如输入pennygo.ml点击回车,你就会看到这样一个页面
这样一个页面上我们会看到一些文字 \ 图片, 有些还有音频 \ 视频之类的东西
2.疑问
- 那么这些文件来自哪里呢?
- 我们又是怎样看到这些东西的呢?
- 为什么输入了某个特定的xxx.com就会蹦出一个特定的页面呢?
- xxx.com到底能代表什么?
3.历史
<网络的起源>
- 像名字那样, 计算机,最初只是用来计算的,金融计算,军事计算等
- 1969年 , 美苏冷战,美国国防部认为 ,如果仅有一个军事指挥中心,要是被被苏联炸了,岂不是全国的军事指挥都将陷入瘫痪,于是他们想着建立多个指挥中心.
- 而怎么将这些军事指挥中心高效的连接在一起:
- 当时计算机在军事领域的计算已经较为普及,他们于是用电缆将四个指挥分部的计算机连接在一起
- 这样便诞生了最早的网络,四个指挥中心的计算机可以互传数据,这个网络也只有这几台计算机
<衍生>
- 有很多机构组织,为了方便信息交换,也开始采用这种方式将多个用电缆计算机连接在一起
- 当其他计算机们开始频繁向同一个计算机索求信息时,例如很多机构都想去某个大学索取毕业学生的数据以用来招聘,这其实就是当今网站服务的雏形了
- 这就像一些搬砖公司用电脑去访问西南交大的官网以获取毕业生的信息去招聘学校的土木毕业生.
4.服务器(server)
- 和前面去用电缆去向某个计算机获取信息一样,当你访问西南交大官网时,其实也是去到西南交大的一个计算机上获取信息了,也就是说你看到这些网站上的数据也是存储在一个计算机的
- 这些储存网站数据的计算机本质上和你平时用的电脑是一样的,主机同样由[存储器][运算器][控制器]组成,说通俗点就是,一样有处理器(CPU)\内存(RAM)\硬盘(DISK)等
- 而这些用于储存网站数据的计算机肯定也有它的特殊之处
1. 首先充当这样功能的计算机我们一般称之为服务器(SERVER)
2.为了能让用户能7×24不间断访问,这些计算机通常是不关机的,这也必将导致他的硬件要和家用计算机有所不同
3.由于我们所用的windows系统都是高度交互设计化的系统,适合日常使用,而这样的系统肯定也就会占用大量的硬件资源,而server一般是给专业人士用的,为了防止硬件资源的占用,和很多其他的问题,server安装的系统通常是不带交互界面的Linux或者WindowsServer
5.输入的xxx.com是如何定位到我们要访问的东西呢?
- 首先很早前,为了方便找到想要传输数据的计算机,人们给每个计算机分配了一串编码以识别和区分每一个计算机,这一串数字就是我们平常所说的IP地址(通俗理解)
- 而IP地址是随即发配的一串毫无特色的数字,不方便人们记忆,于是后来就发展出了万维网(www),他能定义一些英文字符,并用这些英文字符去映射(对应)某一个特定的IP地址,这样就将那一串毫无特色的数字(IP地址)变成了一串可以定义的英文字符
- 例如腾讯主页的IP(之一)就是 180.163.26.39,记住这样一段数字再去访问腾讯主页多不方便啊,而这个IP地址对应的域名是qq.com,是不是就有直观的辨别力了.
- 于是你在浏览器地址栏中输入xxx.com的时候其实是指出了你要访问的对象,浏览器会通过输入的域名找到对应的IP地址(这一步我们称之为DNS解析),再把主机(server)上的文件呈现出来.
7.万维网(WWW)/通过域名指向IP的过程
- 用户输入域名如:example.com
- 浏览器向域名公司的DNS root name server(储存有域名dns信息的服务器)请求DNS解析
- DNS root name server 根据发送过来的域名,找到域名对应的IP地址,并发送给浏览器
- 浏览器再根据收到的IP地址向对应的服务器建立连接,并请求数据
- 再呈现出来
6.这便是输入xxx.com所网站时发生的
- 人的认知总是有限的, 你我所能知道的, 远不是所发生的一切
- 所以是否所有的自信都是来自无知或者偏执
7.更好的跟进,欢迎搜索关注公众号 : pennygoget
如果喜欢就分享给你的朋友