Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Curl/LibCurl和重试的默认DNS解析行为、超时和重试间隔_Curl_Libcurl - Fatal编程技术网

Curl/LibCurl和重试的默认DNS解析行为、超时和重试间隔

Curl/LibCurl和重试的默认DNS解析行为、超时和重试间隔,curl,libcurl,Curl,Libcurl,我想知道Curl/LibCurl与真实浏览器(如chrome)相比的默认DNS解析行为,以及它在多大程度上依赖于操作系统和递归解析器? -还想知道是否有手动页面中提到的重试,比如每次5秒,2次重试 有没有办法在机器上检查或在curl实用程序本身中检查DNS解析超时逻辑 Chrome不断改进处理DNS解析的逻辑。是否有关于最近的白皮书 与chrome一样,它可以在9秒内进行5次查询、4次重试,从现在起,保持300毫秒的间隔,最多可以进行15次重试。首先,让事情复杂化的是,libcurl有几种方

我想知道Curl/LibCurl与真实浏览器(如chrome)相比的默认DNS解析行为,以及它在多大程度上依赖于操作系统和递归解析器? -还想知道是否有手动页面中提到的重试,比如每次5秒,2次重试

  • 有没有办法在机器上检查或在curl实用程序本身中检查DNS解析超时逻辑
  • Chrome不断改进处理DNS解析的逻辑。是否有关于最近的白皮书

与chrome一样,它可以在9秒内进行5次查询、4次重试,从现在起,保持300毫秒的间隔,最多可以进行15次重试。

首先,让事情复杂化的是,libcurl有几种方法可以进行名称解析。首先,您可以构建libcurl来使用不同的解析器后端-大多数系统的默认配置是“线程解析器”,但也有“同步”库存解析器和c-ares后端。然后,在最近的libcurl版本中,您还可以选择让它通过HTTPS使用DNS到指定的服务器

但是关注默认方法,线程化方法,当需要解析名称时,它将启动一个helper线程,该线程只需调用
getaddrinfo()
并等待响应。这个函数通常是由libcurl运行的各种平台上的libc/OS提供的,它的行为在某种程度上也受libcurl的控制,现在它往往是经过精心设计和完善的代码

然而,Chrome在某些平台上使用自己的名称解析代码,在某些平台上使用本机(getaddrinfo)解析程序函数(我被告知)。不幸的是,我缺乏更多关于这方面的知识