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

标签 networking tcp network-programming dns

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

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

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

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

谢谢!

最佳答案

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

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

关于networking - 我的网络浏览器如何解析域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4392228/

相关文章:

c - 如何在 pcap 中捕获数据包,并跳过以太网 header

c - 在 DNS 应答中检测 CNAME

c - 为什么我的服务器实现不能同时正确运行?

c - 在 Linux 上的 C 程序中从套接字描述符获取 struct socket*、struct sock *

java - 连接网络中的两个客户端

无法在 Windows 上创建套接字

session - SMPP session 序列 ID 最大值

Java网络客户端-服务器(文件扫描),陷入客户端接收循环

python - 在 TOR 中选择特定的导出节点(使用 Python 代码)

python - 基于点对点套接字的聊天 python 和 ios