最近在读许令波老师的《深入分析Java Web技术内幕》,算是对DNS服务器域名解析有个大体的理解,以下的内容来自个人对书中内容的整理

1.什么是域名解析?

当我们在浏览器的地址栏输入一个地址时,如www.xxxx.com,之后就可以跳转到对应的页面,但是为什么呢?要知道机器是只认识IP地址的,

他并不理解我们输入的www这种格式是什么意思,这个时候时候就要用到域名解析了

2.域名解析的步骤

首先粗略的说,域名解析就是通过DNS把www.xxxx.com这种格式的域名解析成一个IP地址,之后通过IP地址找到对应的服务器,当然后面就是浏览器请求数据了,

这不是咱们的关注点.接下来详细的讲解具体的解析过程

①用户输入一个域名,浏览器去自己的缓存中寻找是否有对应的解析过的IP地址(这个缓存有大小和时间限制,),没有转入下一步

②浏览器检查操作系统的缓存(有大小和时间限制)中是否有这个域名解析过的结果,在我们常说的host文件(c:/windows/system32/etc)中可以看到

localhost被解析成127.0.0.1,这也是为什么你用tomcat部署web项目后,用浏览器访问总是要输入localhost,当然我更习惯直接输入

127.0.0.1:端口/项目名/xxx这种,因为你的host文件有时会被恶意更改(拓展点说叫做域名劫持),这样你输入localhost就无法被解析了

如果这一步还没有找到域名对应的IP,转入下一步

③浏览器向LDNS发送请求,L代表local,所以LDNS也就是本地的域名解析器,同样的在自己的缓存里找,没找到向根域名服务器(Root Server)发送请求

④根域名服务器返回给LDNS一个主域名服务器地址(gTLD Server),比如我们输入的含有.com的域名,那么返回的这个就是com的主域名服务器地址

⑤接下来LDNS向gTLD Server发送请求,后者返回给前者此域名对应的Name Server域名服务器的地址

⑥然后LDNS向Name Server发送请求,Name Server对此域名进行解析(查询域名与IP地址的映射表.一个IP地址可能对应多个域名)

⑦NameServer返回解析结果给LDNS,LDNS将结果反馈给浏览器

⑧浏览器通过此IP地址与默认的80端口与服务器建立连接,进行数据交互

总结:可以看到在域名解析的过程中,LDNS处于一个中心节点的位置,对根服务器发送请求后获得数据再向主域名服务器发送数据.......

贴下书中的图吧

DNS服务器解析域名的过程的更多相关文章

  1. 域名注册域名解析域名绑定 dns服务器解析 域名记录的添加 记录类型含义@ www 访问域名请求过程

    创建一个web应用,简言之就是访问一个域名,可以到达一个地方,这个地方就是你存放供别人查看的文件的地方 就像一条绳,从这头拉一下,可以拉出来另一头的东西 主要有两个部分: 域名 虚拟主机(空间) 1. ...

  2. DNS解析域名的过程

    一.DNS解析域名的过程 1.大的过程可分为三步: (1).在缓存中查找是否之前解析过 (2).在windows系统的host文件中查找 (3).请求DNS服务器 2.小的过程可分为十步: (1).浏 ...

  3. CentOS 搭建dns服务器 解析任意域名

    DNS服务器IP地址:192.168.1.219 服务器版本:centos6.6一:软件安装 [root@localhost ~]# yum -y install bind* 二:修改主配置文件 [r ...

  4. 记一次腾讯云不能连接DNS服务器的问题排查过程

    由于腾讯云在使用过程中需要用到yum,在yum安装软件的时候报错不能连接到源的网站.当时经过排查发现域名没有解析.有可能是DNS服务器问题或者我的腾讯云DNS配置出现问题. 所以我查看了/etc/re ...

  5. DNS 解释 --- 解析域名给电脑,电脑只看得懂1.1.1.1.1 这些ip地址 所以要翻译给他

    把域名翻译成IP地址的软件称为域名系统,即DNS 当网络上的一台客户机需要访问某服务器上的资源时,客户机的用户只需要在浏览器中的地址文本框中输入该服务器的网址.就可以与该服务器进行连接,计算机的硬件只 ...

  6. 1元搭建自己的云服务器&解析域名

    最近在学做微信开发,没有自己的域名和服务器就不得不寄人篱下,索性自己就到云主机上搭建了个服务器,但是水平有限弄了一个下午~~有自己的域名和服务器的好处相信不用我多说了.比如日后可以有自己域名的个性博客 ...

  7. 全国出现大面积DNS服务器故障 域名被劫持

    1月21日消息,继今日上午腾讯16项服务出现故障后,大量网站出现了无法访问的情况,据了解,该故障是由于国内DNS根服务器故障所致. 据了解,此次攻击式由于国内所有通用顶级域的根服务器出现异常,导致大量 ...

  8. 阿里云 云解析使用方法/在阿里云ESC服务器解析域名并绑定服务器IP后上传文件通过域名访问步骤教程

    第一步:登录阿里云官网,获取服务器ECS的指定公网IP地址. 1.输入阿里云官网账号进入首页,如下图: 2.点击进入"管理控制台",如下图: 3.点击"云服务器ECS&q ...

  9. NGINX本地服务器解析域名

    1.找到hosts文件 ,添加需要解析的域名 2.在cmd命令窗口中检测解析是否生效 3 找到本地服务器的域名配置文件:添加绑定的域名,更改访问的目录 4.添加pathinfo.隐藏index.php ...

随机推荐

  1. cyclictest 简介

    1. cyclictest 简介以及安装 1.1 cyclictest 简介 cyclictest 是什么? 看名字应该就能大致猜出来它是一种 test 程序,Cyclictest的维基主页这么介绍它 ...

  2. mysql 在B数据库下 创建一个与A数据库中一样的表

    1.创建数据内容与结构一致(不会复制索引以及外键) create table B.test as select * from A.test; 2.把上面的步骤分开,先复制结构 create table ...

  3. Meltdown攻击

    Meltdown攻击处理器A级漏洞MELTDOWN(熔毁)和SPECTRE(幽灵)分析报告AntiyLabs • 2018年01月05日 • 漏洞 • 阅读 1162一.概述安天应急处理中心在2018 ...

  4. deeplearning.ai 神经网络和深度学习 week4 深层神经网络 听课笔记

    1. 计算深度神经网络的时候,尽量向量化数据,不要用for循环.唯一用for循环的地方是依次在每一层做计算. 2. 最常用的检查代码是否有错的方法是检查算法中矩阵的维度. 正向传播: 对于单个样本,第 ...

  5. HUST 1583 长度单位

    1583 - 长度单位 时间限制:1秒 内存限制:128兆 536 次提交 103 次通过 题目描述 我们生活中常用的长度单位有英尺.英寸和厘米,众所周知它们之间的换算关系每英寸等于3厘米,而每英尺等 ...

  6. spring中用到的设计模式

    http://www.cnblogs.com/pengmengnan/p/6717766.html 一 : 工厂模式工厂模式主要是为创建对象提供过度接口,以便将创建对象的具体 过程屏蔽隔离起来,达到提 ...

  7. 【转自知乎】:localhost、127.0.0.1 和 本机IP 三者的区别?

    作者:知乎用户链接:https://www.zhihu.com/question/23940717/answer/26230963来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  8. Unity Object Pool

    using System.Collections; using System.Collections.Generic; using UnityEngine; [System.Serializable] ...

  9. 基于逆波兰式的JAVA计算器

    请看下方↓↓  

  10. tomcat实现热部署的配置

    p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 0); line-height: 120%; text-align: justi ...