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. 阿里PB级Kubernetes日志平台建设实践

    干货分享 | 阿里PB级Kubernetes日志平台建设实践https://www.infoq.cn/article/HiIxh-8o0Lm4b3DWKvph 日志最主要的采集工具是 Agent,在 ...

  2. ElasticSearch 6 安装、下载

    1,安装配置JDK 8 参考:官方文档 #为什么是JDK1.8?在ElasticSearch6.2.4中提到:JDK版本必须为:1.8.0_131 以上 > 1,安装JDK1.8-161 #解压 ...

  3. PHP操作文件常用函数

    [获取文件信息的函数] basename($path[,扩展名]) 返回文件路径中去掉路径后的文件名称."/root/a.txt"输出a.txt;带上.txt输出a. dirnam ...

  4. Centos 7 下 Corosync + Pacemaker + DRBD + psc + crmsh 实现 mysql 服务高可用

    一.介绍 高可用,大家可能会想到比较简单的Keepalived,或者更早一点的 heartbeat,也可能会用到 Corosync+Pacemaker,那么他们之间有什么区别. Heartbeat到了 ...

  5. Tomcat重启Shell脚本

    --测试通过 vim restart_tomcat.sh#!/bin/bash# Filename: restart_tomcat.sh# Description: Restart tomcat# D ...

  6. NPM 私服

    下载https://nodejs.org/en/download/ linux binaries x64版本xz -d ....xztar -xvf ....tar导入path修改~/.bashrc加 ...

  7. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_08-课程预览技术方案

    3.2.1 技术需求 课程详情页面是向用户展示课程信息的窗口,课程相当于网站的商品,本页面的访问量会非常大.此页面的内容设 计不仅要展示出课程核心重要的内容而且用户访问页面的速度要有保证,有统计显示打 ...

  8. Mac 裁剪mp3

    系统自带的QuickTime Player

  9. JS 回车提交,兼容IE、火狐、Opera、Chrome、Safari……

    1.JavaScript 方法: <script>      document.onkeydown=function(event){          e = event ? event  ...

  10. Python3之类和实例访问限制

    在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑. 但是,从前面的Student类定义来看,外部代码还是可以自由地修改一个实例的na ...