2012-10-13 14 views
12

Dzisiaj widziałem ten fragment kodu w źródle HTML strony internetowej:prefetching DNS i strona optymalizacja

<!-- prefetch dns --> 
<link rel="dns-prefetch" href="//s3.amazonaws.com"> 
<link rel="dns-prefetch" href="//cdn.api.twitter.com"> 
<link rel="dns-prefetch" href="//graph.facebook.com"> 
<link rel="dns-prefetch" href="//connect.facebook.net"> 
<link rel="dns-prefetch" href="//api.pinterest.com"> 
<link rel="dns-prefetch" href="//google-analytics.com"> 

Ile można zyskać w ten sposób? Nie widziałem tego wcześniej, ani w Yahoo! Developer Networks guidelines for optimization. Wydaje się, że jedyną rzeczą, która wydaje się powiązana, jest "Zmniejszenie liczby wyszukiwań DNS".

W podobny sposób, dlaczego te usługi nie ujawniają adresu IP swoim usługom i unikają wyszukiwania DNS w ogóle?

Odpowiedz

3

Domyślam się, że daje to równoległe wyszukiwanie DNS tych linków, które później były używane w skryptach JavaScript.

Bezpośrednie numery IP nie działają dobrze w przypadku sieci CDN. Rozwiązują się na hoście blisko dzwoniącego. Jeśli jesteś w Stanach Zjednoczonych, otrzymasz adres IP serwera w USA. Jeśli jesteś w Europie, dajesz adres IP serwera w Europie itp. Nie możesz oszukiwać w ten sposób z bezpośrednimi numerami IP.

+1

rel = "prefetch" "wskazuje, że pobieranie wyprzedzające i buforowanie określonego zasobu może być korzystne, ponieważ jest bardzo prawdopodobne, że użytkownik będzie wymagał tego zasobu." [...] Mozilla Firefox jest jedyną przeglądarką który obsługuje rel = "prefetch". Z książki "Dive Into HTML 5" http://diveintohtml5.info/semantics.html –