浏览器解析

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. react-router简单使用方法

    使用 传值 非Link跳转 路由返回 v2,v3里的跳转,返回和传值 问题 react-router版本 v4.x 跟着官网 https://reacttraining.com/react-route ...

  2. nginx图片过滤处理模块http_image_filter_module安装配置

    http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时 ...

  3. 康威定律(Conway's law)

    系统是设计该系统的组织结构的映射. Conway's law 最初是Conway在1967年发表的论文<How Do Committees Invent?>,然后 Fred Brooks ...

  4. Machine-learning-DecisionTree

    前言 决策树是一种自上而下,对样本数据进行树形分类的过程,由结点和有向边组成.结点分为内部结点和叶结点,其中每个内部结点表示一个特征或属性,叶节点表示类别.从顶部根节点开始,所有样本聚在一起,经过根节 ...

  5. Docker实战之MySQL主从复制

    前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的 ...

  6. python 写入 execl 文件 之 xlwt 模块

    1. xlwt 安装 pip install xlwt 2. xlwt 操作, 代码 #!/usr/bin/env python3 import xlwt # 只能创建 新的 excel 文件 # 1 ...

  7. Python 【面向对象】

    前言 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过面向对象的编程语言 ...

  8. 小程序的数据存储,与Django等服务发送请求

    目录 官方文档 快速归纳 存取改删 1.wx存储数据到本地以及本地获取数 1.1 wx.setStorageSync(string key, any data) 存(同步) 1.2 wx.setSto ...

  9. linux-TFTP服务

    1.TFTP协议简介TFTP,全称是 Trivial File Transfer Protocol(简单文件传输协议),基于 UDP 实现,该协议简单到只能从远程服务器读取数据或向远程服务器上传数据. ...

  10. 用python实现LBP特征点计算

    import cv2 import numpy as np def olbp(src): dst = np.zeros(src.shape,dtype=src.dtype) for i in rang ...