从在浏览器输入网址到打开页面看到网页信息是一个非常复杂的过程。DNS解析是非常关键的一步。
完整的执行一次页面的请求是一个非常复杂的过程,同时也是一个非常耗时的过程。
好在经过这么多年的发展,技术的不断积累,已经做了非常多的优化,比如各种缓存、各种算法的优化等。
DNS的主要作用就是将主机域名转换为ip地址。
这里记录一下本人对于dns查询的一些笔记。
发起一次http(非http2)请求需要经历下面的步骤
1 | 用户发起一次http请求(在浏览器输入url地址) |
这里主要介绍一下DNS的解析步骤,简化版的DNS查询过程如下
1 | 1.浏览器缓存:首先会查询浏览器是否存在dns缓存,如果用户访问过某个网站,浏览器会缓存这个DNS记录。 |
名词解释
**DNS:**网域名称系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。
它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
DNS使用TCP和UDP端口53。
当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
ISP: 互联网服务供应商(Internet Service Provider)又称因特网服务提供者、互联网服务提供商、网络服务供应商,即指提供互联网存取服务的公司。通常大型的电讯公司都会兼任互联网服务供应商。
主机记录(A记录): A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
别名记录(CNAME记录): CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。
TTL: 表示 DNS 记录在 DNS 服务器上缓存时间
域名解析: DNS就像是一个自动的电话号码簿。
我们上网的时候通过在浏览器输入网址 (http://www.epoos.com) 的时候,就相当于输入用户名,解析(查找ip)就相当于通过用户名自动找到电话号码