Reputation: 5444
Do I have to prefetch a subdomain separately?
E.g. when I have <link rel="dns-prefetch" href="//example.com">
do I need an additional tag for //static.example.com
as well?
Upvotes: 23
Views: 4504
Reputation: 101443
I've made the following test: first created simple HTML page
<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>
For the domain and subdomain for which I own dns nameserver. Then I cleaned dns cache and opened this page in firefox private window. I observed in the logs of my dns nameserver that only request for "example.com" was made and no requests for subdomains.
Then I changed the page as follows:
<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>
Again cleared dns cache and opened this page in firefox private window. Now I observed that dns requests we made for both domain and it's subdomain.
So I can conclude that yes - you have to prefetch subdomains separately.
Upvotes: 36
Reputation: 1500
You have to prefetch every subdomain separately.
It is how DNS works. You ask for name, it answers back, it knows nothing about "subdomains" it's just a name.
nslookup google.com
gives you answers for google.com only, no subdomains.
nslookup www.google.com
gives www.google.com only, no top-level domains.
Upvotes: 9