1:dns与网址url简介
DNS是域名系统(DomainNameSystem)的缩写,域名系统是一中庞大而复杂的系统,但我们这里讲解重心并不是这个系统,而是指本地电脑dns是什么
讲到dns,我们就不得不讲讲网址和域名,我们经常会百度搜索东西或者去淘宝购物一下,于是我们打开了浏览器(Ie,Edge,GoogleChrom,Firefox)等等,开始输入网址如下
百度网址:
baidu.com
www.baidu.com
https://www.baidu.com,
淘宝网址:
taobao.com
www.taobao.com
https://www.taobao.com
这里每个网站网址都有三个,可能有人会问,这有什么区别吗?讲真的,在浏览器地址栏输入这个三个网址如下图,你会发现,浏览器打开的内容是一模一样的,毫无差别,这是为什么呢?
因为当你输入baidu.com或者www.baidu.com的时候,最终都是访问https://www.baidu.com网址对应的 ip地址对应的页面,虽然你可能在输入的时候可能没有输入https://或者没有输入https://www,但是浏览器会自动帮你补全这两个信息然后去访问的网页仅此而已,淘宝也是同理
接下来我们讲解一下网址组成
https://www.baidu.com
看到这个网址的时候,我希望伙伴们不要纠结www是什么,baidu是什么,.com又是什么如下解释
1:.com顶级域名,顶级域名只有二类(类别而非数量),国际通用顶级域名,(.com、.edu、.org)、国家顶级域名(.cn、.jp),国家顶级域名比国际顶级域名低一个层级
2:baidu.com是.com子域名(也叫二级域名),国际顶级域名前添加A-Z,0-9,和英文的连接号“–“,首字符和尾字符不能是连接号,长度不超过22个字符,一般企业或者个人买的则是这类域名,通用顶级域名或国家顶级域名的子域名
3:www.baidu.com是baidu.com的子域名(也叫三级域名或者二级子域名),但是www是我们买回baidu.com域名的情况在做解析时自己添加上去的,解析的作用则是将www.baidu.com做映射告诉DNS服务器该域名对应的服务器ip地址,并保存起来(内含知识,域名购买,解析,解析类别,解析时www.baidu.com映射的ip地址保存到了哪个服务器)
4:https是协议,https之前是http协议,但是由于http不够安全,于是有了https,其实本质 https=http协议+加密+ssl证书+完整性保护(这里面含有很多知识,如 http协议,加密、解密,签名、验签,证书机构,证书颁发,证书的认证,完整性保护方法如摘要,https服务的配置等伙伴们可以自行学习,这不是我本篇短文的重点)
5:百度的网址,淘宝网址只是众多网址的一个特例,网址通用格式如下
scheme://host.domain:port/pat/filename(网址也叫统一资源定位符url)
scheme:协议,可以是https,http等
host.domain:完整域名对应的ip地址所指向的主机(www.baidu.com)
port:端口,ip地址只能找到服务器,但端口指定了与主机上哪个服务(软件)通信
path:指定服务器上访问资源的目录
filename:指定服务器上目录下的文件名,最终访问到的文件资源
6:dns的作用了,主要实现域名管理,分配与回收,,域名到ip地址映射存储与修改,当浏览器输入网址时可能(注意这里只是可能而非一定,稍后会详细介绍dns到ip地址的转换)会先请求dns服务器,dns服务器会返回ip地址
2)windows上dns配置与作用
使用下面dns服务器地址中可以配置dns地址,这就是dns配置
3)dns查看
windows上dns查看有多种方式如下
1如果是自己配置的dns,上面2的操作可以看到dns
2点击如下属性,可以看到dns
3)win+R快捷键,运行cmd命令,在弹窗中输入 ipconfig/displaydns,当然还有其他的命令同样可以查看dns,这里只介绍这一种
2:网站访问域名到ip的解析过程
1)域名到ip地址转换过程
当我们在浏览器中输入网址时如scheme://host.domain:port/pat/filename时
浏览器如何通过这个网址找资源呢,其过程如下
1浏览器先解析协议,http还是https
2解析域名,即将通过域名解析出ip地址再拿IP地址去找资源所在的服务器,域名解析是一个复杂的过程,流程如下
浏览器拿到host.domain域名,浏览器有个域名到ip映射的缓存,浏览器先在自己的缓存中找这个域名对应的ip,如果没有找到,就在找本地电脑的域名到ip地址映射的缓存,如果仍然未找到,本地有个hosts文件,但是windows会监控hosts变动,如果有变动会将hosts配置加载到缓存中,如果hosts文件里也没有找到,那么就会去服务器里找,这时会去如下位置配置的dns服务器地址对应的服务器找,没有配置,会去自动获得的dns服务器地址对应的服务器去找
如果还没找到,会去根域名服务器,顶级域名服务器,二级域名服务器,权威域名服务器,找,直到找到位置
顺序如下:浏览器缓存->操作系统dnscache【包含hosts】 ->->非权威域名服务器->根域名服务器->顶级域名服务器->二级域名服务器->权威域名服务器。
过程如下
浏览器拿到ip后,去找ip对应的服务器,然后通过后面的path和filename找到服务器下的path目录下的filename文件,文件中前端代码,如html,javaScript,css等前端代码,会直接返回到本地电脑,浏览器解析,如果有后端代码,会让对应的后端服务器代码执行引擎解析执行完返回结果值,如果服务器上没有,则会报错,如果有的话,就直接可以看到对应的网页了
若有错误欢迎大家指正
原文链接:https://blog.csdn.net/qq_34501154/article/details/127914812
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/23434