DNS服务器解析域名的过程
最近在读许令波老师的《深入分析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服务器解析域名的过程的更多相关文章
- 域名注册域名解析域名绑定 dns服务器解析 域名记录的添加 记录类型含义@ www 访问域名请求过程
创建一个web应用,简言之就是访问一个域名,可以到达一个地方,这个地方就是你存放供别人查看的文件的地方 就像一条绳,从这头拉一下,可以拉出来另一头的东西 主要有两个部分: 域名 虚拟主机(空间) 1. ...
- DNS解析域名的过程
一.DNS解析域名的过程 1.大的过程可分为三步: (1).在缓存中查找是否之前解析过 (2).在windows系统的host文件中查找 (3).请求DNS服务器 2.小的过程可分为十步: (1).浏 ...
- CentOS 搭建dns服务器 解析任意域名
DNS服务器IP地址:192.168.1.219 服务器版本:centos6.6一:软件安装 [root@localhost ~]# yum -y install bind* 二:修改主配置文件 [r ...
- 记一次腾讯云不能连接DNS服务器的问题排查过程
由于腾讯云在使用过程中需要用到yum,在yum安装软件的时候报错不能连接到源的网站.当时经过排查发现域名没有解析.有可能是DNS服务器问题或者我的腾讯云DNS配置出现问题. 所以我查看了/etc/re ...
- DNS 解释 --- 解析域名给电脑,电脑只看得懂1.1.1.1.1 这些ip地址 所以要翻译给他
把域名翻译成IP地址的软件称为域名系统,即DNS 当网络上的一台客户机需要访问某服务器上的资源时,客户机的用户只需要在浏览器中的地址文本框中输入该服务器的网址.就可以与该服务器进行连接,计算机的硬件只 ...
- 1元搭建自己的云服务器&解析域名
最近在学做微信开发,没有自己的域名和服务器就不得不寄人篱下,索性自己就到云主机上搭建了个服务器,但是水平有限弄了一个下午~~有自己的域名和服务器的好处相信不用我多说了.比如日后可以有自己域名的个性博客 ...
- 全国出现大面积DNS服务器故障 域名被劫持
1月21日消息,继今日上午腾讯16项服务出现故障后,大量网站出现了无法访问的情况,据了解,该故障是由于国内DNS根服务器故障所致. 据了解,此次攻击式由于国内所有通用顶级域的根服务器出现异常,导致大量 ...
- 阿里云 云解析使用方法/在阿里云ESC服务器解析域名并绑定服务器IP后上传文件通过域名访问步骤教程
第一步:登录阿里云官网,获取服务器ECS的指定公网IP地址. 1.输入阿里云官网账号进入首页,如下图: 2.点击进入"管理控制台",如下图: 3.点击"云服务器ECS&q ...
- NGINX本地服务器解析域名
1.找到hosts文件 ,添加需要解析的域名 2.在cmd命令窗口中检测解析是否生效 3 找到本地服务器的域名配置文件:添加绑定的域名,更改访问的目录 4.添加pathinfo.隐藏index.php ...
随机推荐
- vue 设计日历表
日历的功能,我们会经常用到,且逻辑比较复杂,小算法较多,花了半天时间写了个,特此详记. 先贴图 功能阐述:返回本月不多说,设置工作日和节假日是为了公司制度需要,后台会有假日表来记录. 为了适应于vue ...
- React Native随笔——组件TextInput
一.实例 先看一下我要做的搜索框的样子 需要一个Image,和一个TextInput 去掉默认下划线 underlineColorAndroid='transparent' 设置光标颜色 select ...
- Django模板中的数字自增
Django框架的模板提供了{% for %} 标签来进行循环 例如对集合进行循环是比较简单的 {% for row in v1 %} <div>{{row.name}}</div& ...
- JavaScript 模块化历程
这是一篇关于js模块化历程的长长的流水账,记录js模块化思想的诞生与变迁,展望ES6模块化标准的未来.经历过这段历史的人或许会感到沧桑,没经历过的人也应该知道这段历史. 无模块时代 在ajax还未提出 ...
- MySQL的ibdata1文件占用过大
处理MySQL的ibdata1文件过大问题 本人遇到一次在安装zabbix监控的时候,yum安装的MySQL数据库,后面用了一段时间发现data目录下的ibdata1的空间特别大,反而我的zabbix ...
- EMC题
[面试题]EMC易安信面试题解 1. 除以59的余数是多少. 来自wiki:费马小定理是数论中的一个定理:假如a是一个整数,p是一个質数,那么 如果a不是p的倍数,这个定理也可以写成 这个书写方式更加 ...
- angular-dragon-drop.js 双向数据绑定拖拽的功能
在做公司后台物流的时候,涉及到34个省市分为两个部分,一部分为配送区域,另一部分为非配送区域,想利用拖拽的功能来实现,最好两部分的数组能自动更新. 刚好找到angular-dragon-drop.js ...
- GitHub上传文件或项目的教程
既然是往GitHub上传文件,那GitHub账号必须得有,这时候就会有同学问:妖怪吧,我没有GitHub账号怎么办? 别急别急,打开GitHub网站https://github.com/,然后注册就O ...
- VUE之ECMAScript6(es6)
es6:es:EMCAScript 6 (es2015)Emca:国际标准组织 1.常量和变量 const a = "hello" let:定义一个块级作用域的变量 需要先定义再使 ...
- 数据库复习总结(6)-SQL语句入门(脚本、命令)
脚本操作: 脚本操作 注释:--单行注释,/**/多行注释 数据库:创建.删除 (可以通过查看master数据库中的sysdatabase表,来了解当前存在的数据库) 点击“新建查询”,选中哪句执行哪 ...