浏览器与DNS解析过程
浏览器解析
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解析过程的更多相关文章
- DNS解析过程和DNS挟持
1.DNS解析过程详解 1).在浏览器中输入一个域名,例如www.tmall.com,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析, ...
- (转)DNS解析过程详解
DNS解析过程详解 原文:http://blog.csdn.net/crazw/article/details/8986504 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的 ...
- DNS解析过程详解(转载)
DNS解析过程详解(转载) DNS Domain Name System 域名系统,它就是根据域名查出IP地址. 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址ww ...
- DNS解析过程
参考: http://www.maixj.net/ict/dns-chaxun-9208 http://blog.it985.com/8389.html DNS(Domain Name System) ...
- DNS解析过程详解
先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点 ...
- DNS解析过程和域名收敛、域名发散、SPDY应用
前段时间项目要做域名收敛,糊里糊涂的完成了,好多原理不清晰,现在整理搜集下知识点. 域名收敛的目的是什么?简单来说就是域名解析慢.那为什么解析慢?且听下文慢慢道来. 什么是DNS? DNS( Doma ...
- 转载:DNS解析过程详解
2015-09-20 此好文是转载,如有侵权联系我,立马删掉 DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com. ...
- DNS解析过程详解【转】
转自:http://blog.chinaunix.net/uid-28216282-id-3757849.html 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www. ...
- DNS 解析过程
DNS 是应用层协议,用于将域名转换成 IP 地址. 1. 解析过程 DNS 的核心系统是一个三层的树状.分布式服务,基本对应域名的结构. 根域名服务器:管理顶级域名服务器,返回 com.net.cn ...
随机推荐
- pymongo bugfix后记
有网友反馈py-mongo-sync同步异常,检查发现curosr[0]取查询结果第一个文档时报错"no such item for Cursor instance". 这里的逻辑 ...
- C++走向远洋——42(项目二,我的数组类,深复制,构造函数)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- GitLab-CI部署及踩坑总结
转载请注明出处:https://www.cnblogs.com/shining5/p/8863063.html 部署GitLab-CI 简介 GitLab_CI(gitlab continuous i ...
- win10安装LoadRunner时,安装.net framwork组件报0x800F081F错误 解决办法
一.报错原因 0x800F081F错误大多数是在安装软件时,系统无法联网自动下载安装. 经过各种排查及搜索解决方案,总结原因无非以下三种: 1.windows update被禁用. 2.电脑没有.ne ...
- 聊一聊MyBatis 和 SQL 注入间的恩恩怨怨
整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 更多优选 一口气说出 9种 分布式ID生成方式,面试官有点懵了 ...
- ArrayBuffer转base64详解
先贴代码: const base64String = window.btoa(String.fromCharCode(... new Uint8Array(buffer))) 看起来非常的简洁,优美. ...
- 如何使用Kibana
目录 前言 一.安装 二.加载自定义索引 三.如何搜索数据 四.如何切换中文 五.如何使用控制台 六.可视化图表 七.使用仪表盘 前言 Kibana 是为 Elasticsearch设计的开源分析和可 ...
- js实现字符串逆向输出的4种方式
一.第一种方式(利用charAt()这个函数实现) 代码如下: var str="你好世界!!!!"; var str1="";//这里创建一个空字符串用来拼接 ...
- Vue2.0 【第一季】第1节 走进我的Vue2.0
目录 Vue2.0 [第一季]内部指令 第一节 走进我的Vue2.0 Vue2.0 [第一季]内部指令 记录一下我的代码地址:D:/Code/Vue 编辑器:VS code 前置知识: 1.HTML的 ...
- C#制作密码文本框
2020-03-14 每日一例第7天 1.新建窗体windowform,修改text值: 2.两个按钮后台代码: private void button1_Click(object sender, E ...