我知道DNS会将域名转换为IP。而对于沟通来说,最接近另一方的当然是越快。但在DNS的情况下,用户在TTL过期(可能是一天)之前查询服务器IP一次并缓存该答案。
那么,为什么许多人建议让DNS靠近最终用户呢?
我知道DNS会将域名转换为IP。而对于沟通来说,最接近另一方的当然是越快。但在DNS的情况下,用户在TTL过期(可能是一天)之前查询服务器IP一次并缓存该答案。
那么,为什么许多人建议让DNS靠近最终用户呢?
Answers:
请记住,这是“更接近”意味着“更快”的假设,而事实并非如此。
用户在TTL过期(可能是一天)之前查询有关服务器IP的一次,并缓存该答案。
当您点击页面时,您的浏览器需要对页面上的所有资源进行DNS查找,因此如果您点击包含100个具有地址DNS名称的图像的页面,则您的浏览器会对该页面执行100次DNS查询。
有关更直接的示例:在刷新此页面时查看浏览器中的调试/网络选项卡会显示其他39个GET请求,每个请求(可能)需要进行DNS查找。
网页作者可以决定页面缓存的时间长度(大多数情况下),并且页面上越来越多的资源当天不是静态的,因此每次页面调用都会生成不同的页面。这可以潜在地阻止/否定任何浏览器缓存选项(至少部分)。
因此,您需要多久访问DNS取决于一些事情,包括:
由于您寻求澄清的建议是“一般”建议,因此必须涵盖所有情况,包括坏/最坏情况。
在/“最坏的情况”中,客户端不会发生DNS缓存(即:他们之前从未访问过某个页面),因此需要在DNS中查找页面上的每个资源位置才能进行渲染给你的页面。
要获得最快的响应以呈现页面,您需要尽可能快的DNS响应。
还要记住,实际上任何计算资源(不仅仅是DNS服务器)都是一样的 - 虽然缓存很好,但是当你没有缓存时,访问它并获得响应的速度越快越好。