V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
niming007zh
V2EX  ›  浏览器

对于有缓存的页面,打开时浏览器会去查 DNS 吗

  •  
  •   niming007zh · 2019-12-08 10:35:43 +08:00 · 3674 次点击
    这是一个创建于 1572 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对于首页有缓存的网站,max-age 设了很大,打开它时浏览器还会去查 DNS 吗?

    到底是哪一种情况呢?

    1.打开缓存页面,同时 查 DNS->建立 HTTPS 连接

    2.打开缓存页面,在点击新链接时再去 查 DNS->建立 HTTPS 连接

    3.还是说会先查 DNS 什么的呢?

    14 条回复    2019-12-08 16:37:21 +08:00
    whi147
        1
    whi147  
       2019-12-08 11:53:12 +08:00
    不会,有缓存的断网都能打开
    whi147
        2
    whi147  
       2019-12-08 11:55:19 +08:00
    dns 的缓存只是记录域名与 ip,只有域名发生变化才查 dns
    niming007zh
        3
    niming007zh  
    OP
       2019-12-08 12:16:55 +08:00
    @whi147
    奥,那再请教一下,如果首页有缓存,子页没缓存,那 dns 查询是在打开首页后偷偷在后台进行,还是直到我点击子页链接才查的呢(虽然这可能跟浏览器自身优化有关)。

    我主要是 dns 服务器是国外的,怕影响速度。。。就想搞清楚
    otakustay
        4
    otakustay  
       2019-12-08 12:42:00 +08:00
    @niming007zh 点子页,除非你搞<link rel="dns-prefetch" href="//xxx.com/" />
    also24
        5
    also24  
       2019-12-08 12:46:58 +08:00 via Android
    DNS 缓存是 DNS 缓存
    页面缓存是页面缓存

    完全不同的两件事儿

    其中 DNS 缓存涉及到:
    浏览器内部缓存
    操作系统内部缓存
    配置的 DNS 服务器内部缓存
    配置的 DNS 服务器上游的 DNS 迭代服务器内部缓存
    DNS 权威服务器 TTL 配置
    also24
        6
    also24  
       2019-12-08 12:49:26 +08:00 via Android
    除非你的网站访问量极少,否则大部分用户其实在 DNS 迭代服务器这一步,已经查询到被缓存的记录了。

    只有极少数域名,以及一些非常小众的后缀,才会涉及到需要找权威解析查询的情况,这时候才会产生速度方面的影响。
    also24
        7
    also24  
       2019-12-08 12:54:05 +08:00 via Android
    “凤河博客” 是我知道的人里,少有的死磕 DNS 的大佬,他有一份关于 DNS 体系的入门文档,建议可以仔细看一下。

    http://blog.dnsbed.com/?p=302
    also24
        8
    also24  
       2019-12-08 12:54:47 +08:00 via Android
    尴尬,错别字,应该是 “风河博客”
    niming007zh
        9
    niming007zh  
    OP
       2019-12-08 12:55:58 +08:00
    @otakustay
    还有这种操作啊,学习了!
    also24
        10
    also24  
       2019-12-08 12:58:31 +08:00 via Android
    继续尴尬…… 把 “递归解析” 搞成 “迭代解析” 了

    实际上 “权威解析” 的过程才是 “迭代解析”
    tomczhen
        11
    tomczhen  
       2019-12-08 12:59:09 +08:00 via Android
    DNS 缓存这块在 RFC 上可以查看到推荐做法,应用缓存,系统缓存,网关( DNS 服务器)缓存都是存在的,TTL 下发也有滞后,而且国内还多一个 DNS 劫持问题。

    应用能控制的,有应用自身缓存,Web 这块应该从浏览器 API,HTML 这方面去查 DNS 相关的资料,其他上游缓存已经是范围之外了。
    niming007zh
        12
    niming007zh  
    OP
       2019-12-08 12:59:53 +08:00
    @also24
    多谢!我去学习学习这个博客。dns 的原理我大概了解,就是因为我的网站不算大,然后 dns 是 aws 的,首次 dns 解析时间都挺长,如果不同地域的人访问可能地区 dns 得分别查询。比较好奇一般一个市有多少 dns 服务器?
    liuzhiyong
        13
    liuzhiyong  
       2019-12-08 16:00:28 +08:00
    你 F12 看 Network 就知道了呀。
    jugelizi
        14
    jugelizi  
       2019-12-08 16:37:21 +08:00
    这个你应该考虑 CDN 解析了吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3503 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:06 · PVG 19:06 · LAX 04:06 · JFK 07:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.