开发者学堂课程【Ajax 前端开发入门与实战:网络相关的概念】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/595/detail/8508
网络相关的概念
内容介绍:
一、IP 地址
二、域名
三、DNS 域名解析服务器
四、端口
五、小结
一、IP 地址
对于这一块的学习重点关注在地址这两个字当中,地址就是为了标注某个地点而已,方便我们进行查找。
前面介绍服务器客户端的时候说过所谓服务器就是用来提供服务的那台电脑。
在整个互联网当中有非常多的公司,每一家公司都有自己的服务,需要提供出去给别人经营使用。怎么能够找到特定的服务器来使用服务?比如说百度服务器,怎么才能找到百度服务器而并不是找到腾讯服务器。
比如百度服务器的 IP 地址为:123.125.114.144
将百度的IP地址复制到浏览器输入 IP 地址回车就能够找到百度服务器,而并不是找到腾讯服务器。IP地址就是为了来找到特定的服务器,使用服务器所提供的服务。
二、域名
由于 IP 地址是一串数字人很难记忆,为了方便人们的记忆,域名就此出现。
就好像经度纬度一样,人们能记忆下来的是地名。而域名就相当于是地名一样,方便人们查找到服务器。就比如每个人都知道北京天安门,但是不是所有人都知道北京天安门的经度和纬度,经度和纬度其实才是真正标识北京天安门这个地点在整个全球当中的一个位置信息,IP地址就相当于经度和纬度,域名就相当于北京天安门这个名字。域名相当于地名一样,方便人们进行查找。
比如说 www.baidu.com www.qq.com,方便人们进行记忆。
查看本机的 IP : ipconfig
打开控制面板,输入 ipconfig 命令,有一个 IP 地址的显示。
这个 IP 地址目前属于局域网,并不是属于广域网的 IP 地址。作为服务器的 IP 地址一般来说都是广域网的 IP 地址。192.168这类的 IP 地址叫做预留 IP 地址,是在局域网当中进行使用。
如何得出 baidu.com 或者 qq.com 所对应的 IP 地址,其实有个非常简单的命令,叫做 ping。比如说 ping baidu.com,回车后就可以找到 baidu.com 这个域名所对应的 IP 地址,输入 ping qq.com 同样可以找到服务器所对应的 IP 地址。
查看域名的 IP : ping baidu.com
三、DNS 域名解析服务器
打开浏览器,在地址栏中输入 baidu.com 回车,是怎么找到处于远端的那台百度服务器?
在这个地方就需要介绍域名解析服务器 DNS,域名解析服务器所做的事情相对来说比较简单,它内部不仅仅是提供域名和 IP 地址的映射关系。但在浏览器中敲下域名,怎样通过域名找到所对应的IP地址?这个就是域名解析服务器所提供的功能。
来看一下简单的逻辑处理,比如说有一个个人电脑,个人电脑连接电信的路由器,然后在整个广域网当中会有很多服务器提供,比如说有新浪这家公司所提供的服务器,百度提供服务器,QQ 提供服务器。现在比如在我的个人电脑当中,浏览器输入 www.qq.com 这个域名之后,它是怎么样来找到腾讯这个 QQ 的服务器?DNS 域名解析服务器里起到的作用。
在浏览器当中输入 qq.com 这个域名后,先向 DNS 的服务器去进行查询 qq.com 所对应的 IP 地址。当 DNS 得到这个 IP 地址之后,将 IP 地址进行返回给个人电脑,比如说它返回一个 IP 地址是123.10.10.3,这样一个 IP 地址返回给个人电脑,个人电脑拿到这个 IP 地址之后将会把这个IP地址作为它的目标来进行访问,通过电信的路由器来进行访问。会去向电信的路由器进行询问和查找,我现在要访问123.10.10.3 这台服务器请你帮我找到他,电信的路由器就会在它的路由表当中来找到 QQ 的这台服务器,这个就是一个域名和 IP 地址内部的一个处理的流程。有一个叫做 DNS 的域名解析服务器,通过 DNS 域名解析服务器就可以很容易的找出域名和IP地址的一个映射关系好。
当在浏览器敲入 baidu.com 或者 qq.com 任意一个域名之后,其实它内部做的第一件事情并不是去找 DNS 服务器,它会先在个人电脑的一个文件当中去读取是否有这个域名对应的IP地址信息。
这个文件名叫做 hosts,里面可能会记录住域名和 IP 地址的一个映射关系,路径为C:\Windows\System32\drivers\etc\HOSTS。
通过记事本的方式打开,这个文件其实是记录在自己本机当中域名和 IP 地址的一个映射关系,一般来说都是没有任何内容,如果有特殊需求,需要在里面加上一些相关的一个映射关系。
真正进行一个域名访问的时候,个人电脑是先会去 hosts 文件夹去查找,是否含有域名所对应的配置信息,如果有那就会得到对应的一个 IP 地址,在使用这个 IP 地址进行访问,此时就不会去访问 DNS 域名解析服务器。如果在 hosts 文件夹下没有找到对应的配置信息,那个人电脑依然会去 DNS 域名解析服务器上查询 IP 地址和域名的一个映射关系。
DNS 叫做域名解析服务器,提供域名与 IP 地址的映射关系。
访问服务器的流程:本机 hosts 文件--> DNS 服务器-->服务器
本机 hosts 文件的路径:
C:\Windows\System32\drivers\etc\HOSTS
四、端口
前面我们说过,服务器就是提供服务的。 IP 地址是用来查找某一台服务器的,比如说找到腾讯的服务器。
域名是方便人们进行记忆的。DNS 是维护着域名和 IP 地址的一个映射关系,所以可以通过域名访问到服务器。
接下有另外一个问题,现在已经通过 www.qq.com 这个域名能够找到 QQ 的服务器,但是 QQ 服务器可能提供的服务仅仅只有一个,它可能提供了网页服务、邮箱服务、聊天服务,通过域名映射到 IP 地址找到这台服务器时,究竟是想使用这台服务器的什么服务呢?这就使用端口号来进行区分。
其实每一次访问网页的时候,请求使用的是百度服务器所提供的网页服务,完整的写法应该是在域名后面:80,80代表访问这台服务器的80端口。百度服务器的80端口提供的就是网页服务,其实我们每次访问网页最完整的写法应该是 http://www.baidu.com:80,使用这台服务器当中80端口所提供的服务。80端口是比较特殊的一个端口号,可以不写。
再比如我们在设置邮箱客户端的时候,也需要指定端口号:
比如收件服务器,使用这台服务器的993端口作为收件的这一项服务,发件服务器是25端口,所以端口是用来区分一台服务器上提供的不同服务。
五、小结
IP 地址是用来查找某一台服务器的。域名是方便人们记忆的。 DNS 维护着域名和 IP 地址的映射关系。端口是用来区分一台服务器上提供的不同服务的。