zoukankan      html  css  js  c++  java
  • dns-prefetch对网站速度能提升有多少?详解dns-prefetch。

    DNS解析场景

        有很多大型的网站,都会用N 个CDN 域名来做图片、静态文件等资源访问。比如新浪,我们经常会看到有下列域。

       img1.sina.com.cn 、 img2.sina.com.cn 、img3.sina.com.cn 、img4.sina.com.cn 等等,包括天猫、京东等,都会这样去使用,这是为什么呢,还是出在DNS 解析和浏览器加载原理上,解析单个域名同样的地点加上高并发(极端)难免有点堵塞,再加上部分浏览器对相同域名去DNS 解析的时候会异步,导致速度下降,虽然这些速度上咱们可能看不上,但蚊子再小也是肉,优化就讲究极致

    DNS-Prefetch用处介绍

    上面说了那么多,下面来介绍下  dns-prefetch  ,在介绍之前,我们先看看我们的大佬们的使用情况,当然一般电商图片比较多,使用的较多。

    dns-prefetch天猫的使用

    dns-prefetch京东的使用

    dns-prefetch SOJSON 的使用 ^_^

       DNS Prefetch 是一种DNS 预解析技术,当你浏览网页时,浏览器会在加载网页时对网页中的域名进行解析缓存,这样在你单击当前网页中的连接时就无需进行DNS 的解析,减少用户等待时间,提高用户体验。 

         我们DNS 解析的时候,需要用域名去DNS 解析匹配  IP  ,这个是需要时间的,如果加了  dns-perfetch  呢,浏览器会记住(缓存)这个解析,直接就请求过去了,不需要再走DNS 解析。就是这么简单。

          当我们访问一个网站如 www.amazon.com 时,需要将这个域名先转化为对应的 IP 地址,这是一个非常耗时的过程。DNS prefetch 分析这个页面需要的资源所在的域名,浏览器空闲时提前将这些域名转化为 IP 地址,真正请求资源时就避免了上述这个过程的时间。

    DNS Prefetch使用方式

    使用方式上面图片已经有了,就是添加如下代码。

    1. <link rel="dns-prefetch" href="//cdn.www.sojson.com">

    “//” 开始是为了适配  https  和   http  。就是当前请求链接是https ,那么这个//前面自动补充https ,反则补充http 。

    应用场景1:

                我们的资源存在在不同的 CDN 中,那提前声明好这些资源的域名,就可以节省请求发生时产生的域名解析的时间
    应用场景2:

               如果我们知道用户接下来的操作一定会发起一起资源的请求,那就可以将这个资源进行 DNS-Prefetch,加强用户体验

  • 相关阅读:
    heartbeat 心跳技术
    国产数据库有哪些?
    Redis(1.9)Redis主从复制
    Redis(1.8)Redis与mysql的数据库同步(缓存穿透与缓存雪崩)
    分布式系统/NoSQL
    Redis(1.7)Redis高可用架构与数据库交互(理论篇)
    Redis(1.6)Redis发布订阅
    Redis(1.5)Redis配置文件(4.0.14)
    (5.3.4)数据库迁移——数据对比(结构、数据类型)
    【基本优化实践】【1.5】如何在线稳定的删除/更新大量数据?
  • 原文地址:https://www.cnblogs.com/xuzhudong/p/8066537.html
Copyright © 2011-2022 走看看