我使用strace命令分析curl和wget的底层实现过程(主要是DNS域名解析部分),并得出以下结论。我仍然不了解细节,请纠正我。谢谢!
特定测试命令:
strace curl -v web.test.zone
strace wget web.test.zone
我的观点:
- curl是通过libcurl跨平台库实现的,暂时不了解curl通过什么方法或定期获取IP地址,但从strace的结果来看,它不遵循绑定DNS轮询IP请求数据的地址。
- 相对于curl,一个wget请求,它花了很多时间在域名解析上,在找到没有结果的hosts文件的情况下,通过类似的挖掘方式获取所有的ip地址并选择一个To request数据,多次测试,结果是使用不同的A记录IP地址来请求数据。
醇>