DNS :Domain Name System,域名系统 ,通俗的来说需要把我们日常见到的URL 网址信息解析成IP地址,例如

DNS域名解析过程

  • 用户浏览器:用户在浏览器地址栏输入域名进行访问,浏览器最先进行解析,先去浏览器缓存中找这个域名的IP地址。TTL 控制缓存时间限制,太长导致IP变化后域名无法解析,太短每次都要解析一次

  • 用户操作系统:如果用户浏览器缓存中没有域名的记录,就会去操作系统中查找是否有这个DNS解析结果,Windows用户下(Linux是 exc/hosts)其实就去找c:\windows\system32\drivers\etc这个里的hosts文件里面有没有,如果你在这里指定了一个域名、IP映射关系,那么实际上浏览器就会去访问这个IP,这也就是 域名劫持,如图我就我的localhost修改为pzh

  • Local DNS Server:如果etc文件中还没有这个记录,那么就会去这个本地服务器里面找,它可能是学校、小区所在地的DNS服务器,大约八成的解析工作在这里完成,即返回解析结构给浏览器。window下通过 ipconfig 查看 该服务器地址,Linux通过 $ cat /etc/resolv.conf查看,如果还没有找到就会去rootserver根域名服务器请求解析了

  • Root Server:根域名服务器会给本地服务器返回一个所查询域名所在的主域名服务器(gTLD server) 例如 .com .org .cn

背景导入:根服务器主要用来管理互联网的主目录,全世界只有13台(这13台根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。毫不夸张的说如果这几台服务器出点问题,整个互联网都可能瘫痪。

gTLD Server: 国际顶级域名服务器,例如 .org .com .cn 等,根据跟服务器返回的向对应的 gTLD 服务器发送请求,然后gTLD 会返回该域名的 Name Server 地址

  • Name Server:该服务器就是 该域名所在的域名服务器,加入你购买一个某域名提供商的域名,那么该域名解析任务就有该域名提供商的 Name server完成。
  • GTM:实际上不只这些步骤可能更多,也可能不只一个name server 服务器,或者有一个GTM 来负载均衡控制

DNS解析方式

  • A记录:A是address ,可以将一个或者多个域名解析成一个IP地址,不能将一个域名解析出多个IP地址
  • MX记录:将某个域名下的邮件服务 xxx@aa.com => 1.1.1.1:xxx,其中aa.com 对应着 1.1.1.1
  • CNAME记录:别名解析,就是将一个域名设置成一个或者多个名字而已,
  • NS记录:该域名有指定的DNS服务器去解析
  • TXT记录:主机名或者域名设置txt记录说明

跟踪DNS域名解析过程

  • windows : cmd下输入 : nslookup www.baidu.com
  • Linux: dig www.baidu.com

清除DNS缓存

  • windows : cmd下输入 : ipconfig/flushdns
  • Linux: 可以通过 /etc/init.d/nscd restart 来清除缓存

Java Web 深入分析(2) DNS的更多相关文章

  1. Java Web 深入分析(6) Tomcat

    tomcat是什么:汤姆猫?Javaweb服务器? Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache ...

  2. Java Web 深入分析(8) Servlet工作原理解析

    Servlet Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态We ...

  3. Java Web 深入分析(7) Jetty原理解析

    1Jetty的基本架构 Jetty有一个基本的数据模型,这个模式就是handle,所有拷贝拓展的组件都被当做一个handler被添加到server中,然后由jetty统一管理. 1.1Jetty基本架 ...

  4. Java Web 深入分析(4) Java IO 深入分析

    I/O问题可以说是现在海量数据时代下 ,I/O大部分web系统的瓶颈.我们要了解的java I/O(后面简称为(IO)) IO类库的基本结构 磁盘IO的工作机制 网络IO的工作机制 NIO的工作方式 ...

  5. Java Web 深入分析(12) JVM(2) 垃圾收集与内存分配

    前言 java的内存分配和垃圾回收往往是影响系统性能和并发能力的主要因素,虚拟机提供许多的参数就是为了根据不同环境和请教下进行调优,没有最好的调优也没有固定的调优.需要我们深入的去了解jvm的各个垃圾 ...

  6. Java Web 深入分析(11) JVM(1)

    前言 Java启动后作为一个进程运行在操作系统中,该进程要分配的内存有以下几个: 1.Java堆: 存储java内存区域,堆大小是在jvm启动时就像操作系统申请完成,其中 -Xmx和-Xms 分别表示 ...

  7. Java Web 深入分析(11) JVM 体系结构与工作方式

    jvm体系 jvm简介 java virtual machine jvm体系详解 jvm工作机制 虚拟机怎么执行代码 jvm为何基于栈 执行引擎 执行引擎过程 java调用栈 总结

  8. Java Web 深入分析(10) Spring 实践

    Spring helloworld [http://wiki.jikexueyuan.com/project/spring/hello-world-example.html] HelloWorld.j ...

  9. Java Web 深入分析(9) Session 和 Cookie

    前言: session 和cookie都是为了保持服务器和客户端之间交互状态.如果一天的PV有几亿,而一个cookie占200个字节但是也会占用很多带宽?所以大访问量就引用session,但是几百台服 ...

随机推荐

  1. 【Oracle】往Oracle11g的某表插入近千万条记录,耗时略超一小时

    和MySql的对比下,两者有数量级的差距. 表ddl: CREATE TABLE tb04 ( "ID" ,) not null primary key, "NAME&q ...

  2. finder文件夹字体大小能不能统一修改

  3. SQL-W3School-函数:SQL NOW() 函数

    ylbtech-SQL-W3School-函数:SQL NOW() 函数 1.返回顶部 1. NOW() 函数 NOW 函数返回当前的日期和时间. 提示:如果您在使用 Sql Server 数据库,请 ...

  4. java 获取String中的数字

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...

  5. Mysql视图介绍

    视图是一个存在于数据库中的虚拟表.视图本身没有数据,只是通过执行相应的select语句完成获得相应的数据.可以理解为select语句的别名. (1).视图的作用 1.如果某个查询结果出现的非常频繁,即 ...

  6. matlab学习——05插值和拟合(一维二维插值,拟合)

    05插值和拟合 1.一维插值 (1) 机床加工零件,试用分段线性和三次样条两种插值方法计算.并求x=0处的曲线斜率和13<=x<=15范围内y的最小值. x0=[0 3 5 7 9 11 ...

  7. LeetCode_67. Add Binary

    67. Add Binary Easy Given two binary strings, return their sum (also a binary string). The input str ...

  8. talking data 集成

    talking data 集成需要手动添加libz.td

  9. 《CNCF × Alibaba云原生技术公开课》知识点自测(一):第一堂“云原生”课

    (单选)1.容器启动后,我会时常 SSH 进入到容器里然后写很多文件.请问这破坏了云原生理念了吗? A. 否   B. 是 (单选)2.云原生架构必须选型 Kubernetes 方案. A. 否  B ...

  10. 记录项目中easyui的运用

    1.实现合并列,且文字显示居左,背景为固定颜色 效果图: 实现代码: $('#tab').datagrid({ title : '', //表格标题 iconCls : 'icon-list', // ...