子域的 DNS 预取
DNS prefetching of subdomains
我是否必须单独预取子域?
例如当我有 <link rel="dns-prefetch" href="//example.com">
时,我还需要为 //static.example.com
添加一个标签吗?
我做了以下测试:首先创建了简单的HTML页面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="dns-prefetch" href="//example.com/">
</head>
<body>
<a href="http://example.com">Test link</a>
<a href="http://sub.example.com">Test link 2</a>
</body>
</html>
对于我拥有 dns 名称服务器的域和子域。然后我清理了 dns 缓存并在 firefox private window 中打开了这个页面。我在我的 dns 名称服务器的日志中观察到只请求 "example.com" 而没有请求子域。
然后我把页面改成如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="dns-prefetch" href="//example.com/">
<link rel="dns-prefetch" href="//sub.example.com/">
</head>
<body>
<a href="http://example.com">Test link</a>
<a href="http://sub.example.com">Test link 2</a>
</body>
</html>
再次清除 dns 缓存并在 firefox private 中打开此页面 window。现在我观察到我们对域及其子域发出的 dns 请求。
所以我可以得出结论,是的 - 您必须单独预取子域。
您必须分别预取每个子域。
这就是 DNS 的工作原理。你问名字,它回答,它对"subdomains"一无所知,它只是一个名字。
nslookup google.com
仅给出 google.com 的答案,没有子域。
nslookup www.google.com
只给出 www.google.com,没有顶级域。
我是否必须单独预取子域?
例如当我有 <link rel="dns-prefetch" href="//example.com">
时,我还需要为 //static.example.com
添加一个标签吗?
我做了以下测试:首先创建了简单的HTML页面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="dns-prefetch" href="//example.com/">
</head>
<body>
<a href="http://example.com">Test link</a>
<a href="http://sub.example.com">Test link 2</a>
</body>
</html>
对于我拥有 dns 名称服务器的域和子域。然后我清理了 dns 缓存并在 firefox private window 中打开了这个页面。我在我的 dns 名称服务器的日志中观察到只请求 "example.com" 而没有请求子域。
然后我把页面改成如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="dns-prefetch" href="//example.com/">
<link rel="dns-prefetch" href="//sub.example.com/">
</head>
<body>
<a href="http://example.com">Test link</a>
<a href="http://sub.example.com">Test link 2</a>
</body>
</html>
再次清除 dns 缓存并在 firefox private 中打开此页面 window。现在我观察到我们对域及其子域发出的 dns 请求。
所以我可以得出结论,是的 - 您必须单独预取子域。
您必须分别预取每个子域。
这就是 DNS 的工作原理。你问名字,它回答,它对"subdomains"一无所知,它只是一个名字。
nslookup google.com
仅给出 google.com 的答案,没有子域。
nslookup www.google.com
只给出 www.google.com,没有顶级域。