HTTP03--DNS知识
一、域名解析过程
1. 浏览器检查自身缓存,缓存时间为几分钟到小时不等,通过设置TTL属性确定。
2. 若1未找到,则查OS缓存,如windows下的host文件,linux的/etc/hosts文件。
3. 查询本地域名服务器LDNS,即系统配置的DNS服务器地址,一般为SPA(互联网应用提供商),即电信等,一般在你所在城市的某个角落。
4. 若LDNS未命中,则想RDNS(根域名服务器)发请求。
5. RDNS返回给LDNS一个所查询域的主域名服务器(gTLD server)地址。gTLD是国际顶级域名服务器,如com.cn.org等,全球有13台左右。
6. LDNS向上一步返回的gTLD服务器发请求。
7. gTLD服务器查找并返回对应的NameServer地址,这个地址通常是你注册的域名服务器。
例如你在某个域名服务提供商申请的域名,那么这个解析任务则由该域名服务提供商负责。
8. Name Server查询域名与IP的对应关系,正常会返回一个IP地址与TTL给LDNS。
9. LDNS会缓存这个结果和TTL(设置缓存时间)。
10. 将结果返回给用户,用户操作系统根据TTL值,也将该记录缓存到系统,域名解析结束。

二、跟踪域名解析过程
Linux下一般用dig,Windows下一般用nslookup。

三、清除域名缓存
1. windows下,ipconfig /flushdns
2. linux下,/etc/init.d/nscd restart
3. Java中,JVM会缓存DNS结果,缓存在InetAddress类中。有2种缓存机制,一种缓存正确,一种缓存失败的解析结果。
配置参数在 %JAVA_HOME%/lib/security/java.security中,配置项分别为networkaddress.cache.ttl和networkaddress.cache.negative.ttl,
默认值分别为-1(永不失效)和10(缓存10秒)。
注意:使用InetAddress解析域名时,一定要使用单例模式,因为每创建一次InetAddress类,都要进行一次完整的域名解析过程,影响效率。
四、常用域名解析方式


HTTP03--DNS知识的更多相关文章
- DNS知识指南
1. 什么是记录? 记录的实质是存在DNS服务器叶结点上的一条映射(只讨论权威DNS,不讨论Local DNS). A记录:(域名:IP地址) 例:cnblogs.com A 42.121.25 ...
- 程序员DNS知识指南
本次内容比较hardcore,非科班出身可能会有理解障碍,可以考虑不用挣扎,直接放弃.毕竟普通驾驶员是不需要理解内燃机原理和曲轴如何做功的,所谓术业有专攻也,能看完的不是同行就是真爱~ 引 DNS对于 ...
- Ubuntu 12.04 DNS服务器的配置方法
Bind是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件, ...
- DNS(一)简介
最近学习相关DNS知识,顺便总结下相关内容. 1.什么是DNS DNS(Domain Name System)服务,可以使用域名代替复杂的IP地址来访问网络服务器,使得网络服务的访问更加简单,而且可以 ...
- 网络学习day03_IP地址概述与应用
IP地址 IP地址的定义及分类 主机唯一的标识,保证主机间正常通信 一种网络编码,用来确定网络中一个节点 IP地址是一个32位的二进制数 常见的IP地址,分为IPv4与IPv6两大类. ipv4的形式 ...
- java网络爬虫----------简单抓取慕课网首页数据
© 版权声明:本文为博主原创文章,转载请注明出处 一.分析 1.目标:抓取慕课网首页推荐课程的名称和描述信息 2.分析:浏览器F12分析得到,推荐课程的名称都放在class="course- ...
- HTTP头部
10-URI的基本格式以及与URL的区别 HTTP连接的常见流程 从TCP编程上看HTTP请求处理 长连接与短连接 补充一下代理的知识 什么是正向代理,什么是反向代理? 想在外部公网访问公司内部局域网 ...
- 学习搭建 Consul 服务发现与服务网格-有丰富的示例和图片
目录 第一部分:Consul 基础 1,Consul 介绍 2,安装 Consul Ubuntu/Debian 系统 Centos/RHEL 系统 检查安装 3,运行 Consul Agent 启动 ...
- day07 Linux配置修改
day07 Linux配置修改 昨日回顾 1.系统目录 /etc :系统配置目录 /bin-> /usr/bin :保存常用命令的目录 /root :超级管理员目录 /home :普通管理员目录 ...
- IP地址,子网掩码,默认网关,DNS服务器知识详解(转)
转自:http://www.cnblogs.com/JuneWang/p/3917697.html 为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学 ...
随机推荐
- Architecture.the-reactive-manifesto
The Reactive Manifesto (Chinese Edition) Reference 1. The Reactive Manifesto http://www.reactivemani ...
- js--webSocket入门
Websocket 1.websocket是什么? WebSocket是为解决客户端与服务端实时通信而产生的技术.其本质是先通过HTTP/HTTPS协议进行握手后创建一个用于交换数据的TCP连接, 此 ...
- DSP(1) -- 离散时间信号的序列类型
1.单位采样序列δ(n):在MATLAB 中函数zeros(1,N)产生一个由N个零组成的列向量.它可用来实现有限区间的δ(n).然而,更高明的方法是利用逻辑关系式n==0来实现δ(n). 2.单位阶 ...
- VMware克隆SUSE网卡配置
1.配置DNS vim /etc/resolv.conf domain sitenameserver 202.98.0.682.配置网关 vim /etc/sysconfig/network/rout ...
- 一个login
login 1.获取提交表单,保存到变量中.2.判断用户密码是否正确,利用Model类.3.验证用户是否激活.3.判断用户是否记住登录状态,是的话,将其用cookie和session分别保存.没有的话 ...
- SQLite in Windows Store Apps
Using SQLite in Windows Store Apps : https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Using-SQL ...
- 《数据结构》 java的一维数组的内存结构与其特性
1{数组的概念: 数组是相同类型变量的集合,可以使用共同的名字引用它.数组也可以被定义为任何类型,可以是一维或者二维的.数组的访问时通过其对应的下标来实现的.数组提供了一种将有联系的信息便利分组的方式 ...
- Last non-zero Digit in N!(阶乘最后非0位)
Last non-zero Digit in N! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- 前端学习之touch.js与swiper学习
Touch.js是移动设备上的手势识别与事件库,改框架基于原生js,操作简单,主要分drag,swipe,rotate,scale,tab,hold,touch操作. swiper是一个移动端触摸滑动 ...
- PYTHON学习之路_PYTHON基础(3)
学习内容: 1.Python字典 2.Python集合 3.Python字符编码 4.Python文件操作 5.Python实例 一.Python字典 1.定义: dic1={'name':'alex ...