浏览器解析

1.地址栏输入地址后,浏览器检查自身DNS缓存

  地址栏输入chrome://net-internals/#dns 查看。

2.浏览器缓存中未找到,那么Chrome会搜索操作系统自身的DNS缓存。

  windows平台  ipconfig /flushdns 来清空dns 缓存内容。你也可以用命令 ipconfig /displaydns 来查看dns 缓存内容。

  linux下由nscd守护进程进行管理  nscd也许需要自己安装,使用man nscd

  The daemon will try to watch for changes in configuration files appropriate for each database (e.g., /etc/passwd for the
  passwd database or /etc/hosts and /etc/resolv.conf for the hosts database), and flush the cache when these are changed.
  However, this will happen only after a short delay

  大概就是这个守护进程会对密码,域名,域名服务器地址信息维护一个数据库,并且当对应的配置文件修改时,会自动更新,但有延迟。

  因此重置dns缓存可以重启nscd服务 service nscd restart。

3.操作系统缓存也没有,浏览器发起DNS调用,进入DNS解析过程。

DNS

什么是DNS

1.一个由分层的DNS服务器实现的分布式数据库

2.使得一个主机能够查询分布式数据库的应用层协议,运行在UDP上,使用53号端口。

DNS服务器分类

1.根DNS服务器,所谓的13台并非正确的称法,应该说具有13个根DNS IP

2.顶级域名服务器 TLD

按性质或国家地区,有com,gov,org,net,edu, cn,jp等

顶级域名又叫一级域名,baidu.com就是一个一级域名,而www.baidu.com则是该域名空间下的一台主机。

www.baidu.com还可以是二级域名,此时a.www.baidu.com才是域名下的一台主机。

3.权威DNS服务器

一般每个组织或机构都维护自己的域名系统

4.本地DNS服务器 Local DNS Server

当主机发出DNS请求时,该请求被发往本地DNS服务器,它起到了代理作用

DNS解析过程

例如主机cis.poly.edu查询 gaia.cs.umass.edu 的IP,其中前者本地DNS为dns.poly.edu,后者的权威DNS为 dns.umass.edu

1.主机将查询发送至 local dns server dns.poly.edu

2.本地dns不包含此主机,向根dns发送查询。

3.根dns返回edu的TLD的IP列表。

4.本地dns向TLD列表中的一个主机发送dns查询

5.TLD返回目的主机对应的权威dns地址。

6.本地dns再向该权威dns dns.umass.edu发送查询报文。

7.目的主机的权威dns返回目的主机的ip地址

DNS缓存

由以上过程可见,一条dns查询可能会产生8条d'ns报文,采用缓存技术,可以减少dns查询链的长度。

缓存原理

在一个请求链中,当某个DNS服务器接收一个DNS应答时,它能够将信息缓存在本地存储器中。当下次查询时,就能避免到根dns,TLD和权威dns的查询。

由于主机和主机名的映射不是永久的,DNS缓存将在一段时间后被丢弃。

浏览器与DNS解析过程的更多相关文章

  1. DNS解析过程和DNS挟持

    1.DNS解析过程详解 1).在浏览器中输入一个域名,例如www.tmall.com,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析, ...

  2. (转)DNS解析过程详解

    DNS解析过程详解 原文:http://blog.csdn.net/crazw/article/details/8986504 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的 ...

  3. DNS解析过程详解(转载)

    DNS解析过程详解(转载) DNS Domain Name System 域名系统,它就是根据域名查出IP地址.    先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址ww ...

  4. DNS解析过程

    参考: http://www.maixj.net/ict/dns-chaxun-9208 http://blog.it985.com/8389.html DNS(Domain Name System) ...

  5. DNS解析过程详解

    先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点 ...

  6. DNS解析过程和域名收敛、域名发散、SPDY应用

    前段时间项目要做域名收敛,糊里糊涂的完成了,好多原理不清晰,现在整理搜集下知识点. 域名收敛的目的是什么?简单来说就是域名解析慢.那为什么解析慢?且听下文慢慢道来. 什么是DNS? DNS( Doma ...

  7. 转载:DNS解析过程详解

    2015-09-20 此好文是转载,如有侵权联系我,立马删掉 DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com. ...

  8. DNS解析过程详解【转】

    转自:http://blog.chinaunix.net/uid-28216282-id-3757849.html 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www. ...

  9. DNS 解析过程

    DNS 是应用层协议,用于将域名转换成 IP 地址. 1. 解析过程 DNS 的核心系统是一个三层的树状.分布式服务,基本对应域名的结构. 根域名服务器:管理顶级域名服务器,返回 com.net.cn ...

随机推荐

  1. python语法生成器、迭代器、闭包、装饰器总结

    1.生成器 生成器的创建方法: (1)通过列表生成式创建 可以通过将列表生成式的[]改成() eg: # 列表生成式 L = [ x*2 for x in range(5)] # L = [0, 2, ...

  2. React Docs(1)

    安装 React在codepen上提供了一个Hello,World项目事例,只需打开网站,即可尝试React.另外还提供了一个html文件的Hello,World项目,项目中引用CDN的react.j ...

  3. Java入门教程十(抽象类接口内部类匿名类)

    抽象类(abstract) 一个类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现,这种类没有任何具体的实例,只具有一些抽象的概念,那么这样的类称为抽象类. 在面向对象领域,抽象类 ...

  4. 第六周学习笔记,vc各类控件的输入输出

    6w学习笔记 vc控件的输入输出 单选按钮 当单击 RadioButton 控件时,其 Checked 属性设置为 true,并且调用 Click 事件处理程序.当 Checked 属性的值更改时,将 ...

  5. Python 爬虫 selenium 笔记

    1. selenium 安装, 与文档 pip install selenium Selenium with Python中文翻译文档 selenium官网英文文档 2. selenium 的第一个示 ...

  6. OC和C++混编需要注意的问题

    文章首发于github.io 2018-12-17 21:01:55 方案一 1. .c文件的identify and type右边栏修改为Objective-C source 2. Built se ...

  7. echarts 图点击事件

    有三种方式,介绍一下,大家学习哈 1.利用tooltip记录信息,使用zr 监听事件,进行事件处理. 这种方法是利用showTip方法或者tooltip的formatter函数记录选中的数据信息,并在 ...

  8. 第一个爬虫经历----豆瓣电影top250(经典案例)

    因为要学习数据分析,需要从网上爬取数据,所以开始学习爬虫,使用python进行爬虫,有好几种模拟发送请求的方法,最基础的是使用urllib.request模块(python自带,无需再下载),第二是r ...

  9. selenium基本对象之——数值型

    python的数值类型,除了魔法方法以为,只有下面的这些方法: 整形的方法有:as_integer_ratio.bit_length.from_bytes.to_bytes.conjugate.ima ...

  10. 10.xadmin后台使用管理

    目录 xadmin后台管理 xadmin后台管理 安装:luffy虚拟环境下 >: pip install https://codeload.github.com/sshwsfc/xadmin/ ...