我的网络浏览器如何解析域名?

san*_*lto 5 dns networking network-programming tcp

我正在开发一个应该能够联系DNS服务器的网络应用程序.

我想知道最好的方法是什么.我想到了浏览器.

例如,Firefox或Chrome如何解析我在网址栏中输入的域名?

我的意思是,我输入http://www.google.com,它如何知道必须向IP 209.85.195.104发出TCP请求?

谢谢!

jth*_*son 7

这是一个很好的漫画,描述了您的浏览器如何解析主机名:

http://www.labnol.org/internet/comic-how-browser-works/18086/

您的环境应该能够为您处理主机名称解析.您是否有理由需要自己实施?


Gre*_*ill 5

在最简单的情况下,浏览器将使用诸如gethostbyname()将名称解析为地址的功能。但是,此功能并不总是以浏览器方便的方式实现(它通常会阻塞,直到得到答案)。

今天的浏览器开始使用“DNS 预取”,浏览器会在页面加载时直接向 DNS 服务器发送 DNS 请求,以便在用户点击下一个链接之前解析地址。这样,用户在单击时无需等待名称解析,浏览体验也会更快。