浏览器缓存
首先搜刮浏览器自身的 DNS 缓存(缓存的时间比力短,大概只有1分钟,且只能容纳1000条缓存),看自身的缓存中是否是有域名对应且未过期的条目。如果有,则域名剖析到此结束。
操作体系缓存
如果上一步没有找到对应的条目,浏览器会搜刮操作体系自身的 DNS 缓存,如果找到了没有过期的对应条目,则停止搜刮,剖析到此结束。检察操作体系自身的 DNS 缓存,以 Windows 体系为例,win + R 后输入 cmd 命令提示行,输入ipconfig /displaydns 进行检察。
hosts 文件
如果上一步没有找到对应条目,浏览器就会尝试读取操作体系本地的文件,以 Windows 体系为例:C:\Windows\System32\drivers\etc内的 hosts 文件。
DNS 服务器
如果以上的三步都没有找到对应条目,那么浏览器就会向 DNS 服务器哀求进行域名剖析。
更具体地说,浏览器发起一个 DNS 的体系调用,向本地配置的首选 DNS 服务器(一般由运营商提供)发起域名剖析哀求。域名剖析哀求是通过 UDP 协议向DNS 的 53 端口发起哀求,这个哀求是递归的哀求。也就是说,运营商的 DNS 服务器必须得提供给我们该域名的公网 IP 地址。
2.2TCP 毗连
根据 DNS 服务器剖析出的 IP 地址和默认端口号,与该服务器进行 TCP 毗连中 3 次握手的前两次,来建立毗连: