DNS:Domain Name System,是互联网的基础。TLD / Domain Name / FQDN。
几个基础 RFC 规范:
- RFC 1034:Domain names - concepts and facilities.
- RFC 1035:Domain names - implementation and specification.
- RFC 8499:DNS Terminology.
- Ron Aitchison’s DNS for Rocket Scientists.
DNS 解析
FQDN
FQDN - Fully qualified domain name
BIND and DNS
- BIND:The most widely used Name Server Open Source Software。
- ISC:Internet Systems Consortium),负责域名服务器软件 BIND 开发和维护的组织。
- Open Stand
解析示例
@:空主机头,直接解析主域名,比如:80gou.com(@ IN A 86400 192.0.34.166)
nginx 对 trailing dot(full stop | period) 的处理
至少 nginx 1.8 可以完全处理 FQDN 问题,你不需要做任何处理。你可以试验一下 http_host 变量。http_host 不会移除。如果你想进行统一处理,移除最后的 .,则 Nginx - Redirect Domain Trailing Dot:
The following snippet does this in a general way, without having to hard code any hostnames (useful if your server config handles requests for multiple domains). Add this inside any server definition that you need to.
if ($http_host ~ "\.$" ){
rewrite ^(.*) $scheme://$host$1 permanent;
}
概念
权威 DNS(Authoritative name server)
权威就是对该域名及下级域名能“说了算”的服务器;在权威上可以设置,修改,删除该区域内的解析记录, 而非权威DNS只能是查询。Local DNS
Local DNS 就是和我们日常上网接触最多的 DNS,包括你的服务提供商(ISP)分配给你的 DNS(一般为两个),或者公共 DNS。因为填写在你的本地电脑上,所以也称为Local DNS。什么是公共 DNS(public DNS providers)
要上网就必须使用 DNS(将 Domain Name 域名转成 IP 地址)。这个 DNS 可能是你的运营商提供给你的,也可以是一些其它组织提供的,比如我们熟知的谷歌的 8.8.8.8,国内 114 dns的 114.114.114.114。他们负责给我们的请求提供解析服务。
请注意,公共 DNS:
不是根服务器;
不是权威 DNS 托管商,不提供域名注册等服务,比如万网和 DNSpod;
不是权威 DNS,不针对个别域名进行解析;
公共 DNS 服务的特点:
1. 服务的域名数量巨大,用户数多;
2. 要具有安全性和抗攻击性;
3. 低延迟(响应快);
4. 无拦截(无广告);
5. 对解析成功率要求非常的高。
- A记录
A (Address) 记录用来指定主机名(或域名)对应的 IP 地址记录。通俗地说,A 记录就是服务器的IP,域名绑定 A 记录就是告诉 DNS,当你输入域名访问网站的时候将你引导到设置在 DNS 的 A 记录所对应的服务器上。
Windows 下命令
- nslookup
进入命令行输入域名即可得到对应 IP; - ipconfig /all | find "DNS" /i
查看你机器的DNS; - ipconfig /flushdns
清空本地缓存;
参考
- Making http://example.com./ work like http://www.example.com./
- Trailing Dots in Domain Names
- rfc 1034 - DOMAIN NAMES - CONCEPTS AND FACILITIES
- rfc 1738 - Uniform Resource Locators (URL)
- rfc 2396 - URI: Generic Syntax
- DNS: subdomain
-
DNS PROTOCOL