写给 Web 工程师的 DNS 知识入门

你是不是对 DNS 记录的一些概念不太了解,比如 A 记录、CNAME、AlIAS 等。。

下面让我们一起来学习一下~

1 简介

为了访问 www.savokiss.com这个域名,你的电脑需要知道服务器在网络中的位置。

这意味着:你的电脑必须知道 IP 地址才能跟服务器进行通信。

而域名系统 (Domain Name System) 正是为解决这个问题而生。

2 记录字段

当你注册一个域名后,就可以设置多种 DNS 记录。每种记录都有一个 Type,一个 Host和一个 Value

  • Type是提前定义好的
  • Host可以填根域名 (@) 或者子域名(www)
  • Value就是一个 IP 地址或者域名

3 A 记录

A记录将一个子域名映射到一个 IPv4 地址。

它常被用于根域名映射,这样浏览器就知道 savokiss.com这个域名到底指向哪个 IP 地址。

同理,AAAA记录则是用于 IPv6 的。

4 CNAME 记录

CNAME则是映射一个子域名到另外一个域名。

它也可以指向相同站点的另外一个域名(如将 www 指向根域名)

或者另外一个网站,如 heroku (一个国外的云应用平台)

5 CNAME 的问题

CNAME是有一些缺点的。

一旦你为一个子域名定义了 CNAME指向,就不能为这个子域名再定义其他类型的指向了。

正由于此,你不能把 CNAME定义在 根域名上。

6 ALIAS 记录

为了解决上面的问题,可以使用 ALIAS

ALIAS就像是 CNAME,但却不是一个标准的 DNS 类型。

你可以使用 ALIAS将根域名 savokiss.com指向你的 app 服务器(如 savokiss.herokudns.com )同时也可以对这个域名使用其他记录解析。

7 TXT 记录

TXT可以让其他主机读取额外的信息,就像留下了一条秘密消息那样。

TXT一般用来证明某个域名的所有权,因为只有域名的所有者才可以修改 DNS 记录。

8 MX 记录

MX记录(即 Mail eXchange),是用来配置邮箱服务的。

MX记录是唯一的,你可以设置多个服务器,并且为每个服务器配置优先级。

9 TTL

还有许多其他的记录类型,但是上面的几种是最常用的。

对于每种记录类型,你都可以指定一个 TTL(即 Time To Live 存活时间)

这个时间告诉 DNS 服务器需要缓存这些记录值多久。

10 DNS 缓存

TTL 基本上代表了从你修改一条记录开始到终端用户的生效时间(让子弹飞一会~)。

DNS 服务器,ISP 供应商和你的电脑都会缓存 DNS 记录,在 TTL 时间刷新前,缓存的都是上一次设置的记录值。

速查表

最后送上一张 DNS 速查表和 dnspod 上的记录类型说明,希望本文对你理解 DNS 有帮助~

参考文章

原文链接DNS Record Crash Course for Web Developers

本文首发于:码力全开(codingonfire)

每周更新一篇原创或翻译文章~

原文链接:segmentfault.com

上一篇:web前端面试题-移动开发篇(持续更新...)
下一篇:VUE 3 新特性学习

相关推荐

  • 🚀webpack 4 beta — try it today!🚀

    Now that webpack is a 0CJS (Zero Configuration) outofthebox bundler, we will lay groundwork in 4.x a...

    2 年前
  • 🔥一步一步的带你走进Webpack4的世界

    前言 webpack是当下最热门的前端资源模块化管理和打包工具,它可以将许多松散的模块按照依赖和规则打包成符号生产环境部署的前端资源,还可以将按需加载的模块进行代码分割。

    3 个月前
  • (独家!)webpack 5 changelog 全文翻译

    ★ webpack 团队于北京时间 10 月 12 日凌晨发布了 版本,本文译自 。此部分主要面向非插件开发的 webpack 使用者。 ” 简要说明 此版本重点关注以下内容: ...

    8 个月前
  • 鸡啄米:C++编程入门系列之前言

    从今天开始将给大家讲解一些C编程入门的知识,对于也是个温习巩固的过程。将会用深入浅出的方式,尽量用最简单的语言让读者学会C语言,并爱上这门语言。         本前言讲述的是编程语言的发展过程、面...

    2 个月前
  • 面试必备!webpack 中那些最易混淆的 5 个知识点

    前两天为了优化公司的代码打包项目,恶补了很多 webpack4 的知识。要是放在几年前让我学习 webpack 我肯定是拒绝的,之前看过 webpack 的旧文档,比我们内部项目的文档还要简陋。

    1 年前
  • 面试官:请手写一个webpack4.0配置

    确认过眼神,你还是没有准备秋招的人?时间仓促。自京东6月8号开启管培生的招聘,就意味着秋招的开始。然而你还在等着秋天的到来?今年形势应该更为严峻,随着各大技术(vue,webpack,react,微信...

    2 年前
  • 静态类型检测器—Flow入门

    介绍 一个 JAVASCRIPT 静态类型检测器 Flow 使用类型接口查找错误,甚至不需要任何类型声明。 它也能够准确地跟踪变量的类型,就像运行时那样 Flow 专为 JavaSc...

    2 年前
  • 静态类型检查—Flow入门

    介绍 一个 JAVASCRIPT 静态类型检测器 Flow 使用类型接口查找错误,甚至不需要任何类型声明。 它也能够准确地跟踪变量的类型,就像运行时那样 Flow 专为 JavaSc...

    2 年前
  • 零基础HTML玩家的Bootstrap入门第一课(保证学会!)

    零、前言 image.png(/public/upload/d444c0d9733424806be091a5b4e7d5b2) 又看着熟悉的Bootstrap3的网站,想起去年自己刚来时举步维...

    5 天前
  • 随着WebPACK定义全局变量

    随着WebPACK定义全局变量...

    2 年前

官方社区

扫码加入 JavaScript 社区