2012-10-13 29 views
12

Hôm nay tôi thấy đoạn này trong nguồn HTML của trang web:tìm nạp trước DNS và tối ưu hóa trang

<!-- 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"> 

Bao nhiêu bạn có thể đạt được bằng cách làm này? Tôi chưa từng thấy điều này trước đây, cũng như trong số Yahoo! Developer Networks guidelines for optimization. Điều duy nhất có vẻ liên quan là "Giảm tra cứu DNS".

Tương tự, tại sao những dịch vụ này không hiển thị địa chỉ IP cho dịch vụ của họ và tránh hoàn toàn tra cứu DNS?

Trả lời

3

Tôi đoán rằng điều này cho phép tra cứu DNS song song của các liên kết này sau đó được sử dụng cho một loạt các JavaScript.

Số IP trực tiếp không hoạt động tốt với CDN. Họ giải quyết cho một máy chủ gần với người gọi. Nếu bạn ở Hoa Kỳ, họ cung cấp cho bạn IP của máy chủ ở Hoa Kỳ. Nếu bạn ở châu Âu, họ cung cấp cho bạn IP của máy chủ ở châu Âu, v.v. Bạn không thể lừa dối như vậy với số IP trực tiếp.

+1

rel = "prefetch" "cho biết tìm nạp trước và lưu vào bộ nhớ cache tài nguyên được chỉ định có thể mang lại lợi ích, vì rất có khả năng người dùng sẽ yêu cầu tài nguyên này." [...] Mozilla Firefox là trình duyệt hiện tại duy nhất hỗ trợ rel = "prefetch". Từ sách "Dive Into HTML 5" http://diveintohtml5.info/semantics.html –