DNS与网站访问流程

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),国家顶级域名比国际顶级域名低一个层级

2baidu.com.com域名(也叫二级域名),国际顶级域名前添加A-Z0-9,和英文的连接号“-,首字符和尾字符不能是连接号,长度不超过22个字符,一般企业或者个人买的则是这类域名,通用顶级域名或国家顶级域名的子域名

3www.baidu.combaidu.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等前端代码,会直接返回到本地电脑,浏览器解析,如果有后端代码,会让对应的后端服务器代码执行引擎解析执行完返回结果值,如果服务器上没有,则会报错,如果有的话,就直接可以看到对应的网页了

若有错误欢迎大家指正

 

     

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值