对于首页有缓存的网站,max-age 设了很大,打开它时浏览器还会去查 DNS 吗?
到底是哪一种情况呢?
1.打开缓存页面,同时 查 DNS->建立 HTTPS 连接
2.打开缓存页面,在点击新链接时再去 查 DNS->建立 HTTPS 连接
3.还是说会先查 DNS 什么的呢?
1
whi147 2019-12-08 11:53:12 +08:00
不会,有缓存的断网都能打开
|
2
whi147 2019-12-08 11:55:19 +08:00
dns 的缓存只是记录域名与 ip,只有域名发生变化才查 dns
|
3
niming007zh OP @whi147
奥,那再请教一下,如果首页有缓存,子页没缓存,那 dns 查询是在打开首页后偷偷在后台进行,还是直到我点击子页链接才查的呢(虽然这可能跟浏览器自身优化有关)。 我主要是 dns 服务器是国外的,怕影响速度。。。就想搞清楚 |
4
otakustay 2019-12-08 12:42:00 +08:00
@niming007zh 点子页,除非你搞<link rel="dns-prefetch" href="//xxx.com/" />
|
5
also24 2019-12-08 12:46:58 +08:00 via Android
DNS 缓存是 DNS 缓存
页面缓存是页面缓存 完全不同的两件事儿 其中 DNS 缓存涉及到: 浏览器内部缓存 操作系统内部缓存 配置的 DNS 服务器内部缓存 配置的 DNS 服务器上游的 DNS 迭代服务器内部缓存 DNS 权威服务器 TTL 配置 |
6
also24 2019-12-08 12:49:26 +08:00 via Android
除非你的网站访问量极少,否则大部分用户其实在 DNS 迭代服务器这一步,已经查询到被缓存的记录了。
只有极少数域名,以及一些非常小众的后缀,才会涉及到需要找权威解析查询的情况,这时候才会产生速度方面的影响。 |
7
also24 2019-12-08 12:54:05 +08:00 via Android
|
8
also24 2019-12-08 12:54:47 +08:00 via Android
尴尬,错别字,应该是 “风河博客”
|
9
niming007zh OP @otakustay
还有这种操作啊,学习了! |
10
also24 2019-12-08 12:58:31 +08:00 via Android
继续尴尬…… 把 “递归解析” 搞成 “迭代解析” 了
实际上 “权威解析” 的过程才是 “迭代解析” |
11
tomczhen 2019-12-08 12:59:09 +08:00 via Android
DNS 缓存这块在 RFC 上可以查看到推荐做法,应用缓存,系统缓存,网关( DNS 服务器)缓存都是存在的,TTL 下发也有滞后,而且国内还多一个 DNS 劫持问题。
应用能控制的,有应用自身缓存,Web 这块应该从浏览器 API,HTML 这方面去查 DNS 相关的资料,其他上游缓存已经是范围之外了。 |
12
niming007zh OP @also24
多谢!我去学习学习这个博客。dns 的原理我大概了解,就是因为我的网站不算大,然后 dns 是 aws 的,首次 dns 解析时间都挺长,如果不同地域的人访问可能地区 dns 得分别查询。比较好奇一般一个市有多少 dns 服务器? |
13
liuzhiyong 2019-12-08 16:00:28 +08:00
你 F12 看 Network 就知道了呀。
|
14
jugelizi 2019-12-08 16:37:21 +08:00
这个你应该考虑 CDN 解析了吧
|