域名改动之后,有的地方立刻就能看到新结果,有的地方要等上一天。这种快慢不一,来自一路上各个环节各自保存的副本。每个副本都有自己的有效期,有效期内不会再出去问,问也问不出新的。明白这件事,就不会把还没生效当成改错了,也不会在改动后的第一时间反复去试,白费工夫。代理IP的解析设置在调整之后,同样要按这个规律来预期。
副本存在哪几个地方
首先是发起请求的那台设备,系统会把最近问到的结果留一段;其次是链路上帮忙转问的那几台服务器,它们各自也留一份;再往外还有更长的一层。层级越多,改动传播得越慢,因为要等每一层都到期。
有效期是谁定的
每一条记录都带一个时间,写明允许被留多久。这个时间由域名的管理方在配置里设定,短的几分钟,长的一天以上。设定得短,改动传播快,代价是每次访问都要多问一次,响应会慢一点;设定得长则反过来。
有效期写在记录里,不由使用者决定。
此外有些环境会忽略记录上写的时间,自己定一个更长的保留期,或者手里有结果的时候就不再去问。这类做法能加快响应,副作用是改动更不容易传播到位。本机系统、链路上的服务器、部分网络设备都可能这么做。代理IP环境下如果某一层留副本的策略比较激进,看到的现象就是有的地方已经改好、有的地方还是旧的。
怎么确认是不是副本造成的
办法是换一个环境问同一件事,拿到的结果不一致,就说明有地方还留着旧的。也可以直接向管着这个域名的那台服务器问一次,那里永远是最新的,可以拿来对照。两个结果不同,差别就在中间这几层上。代理IP使用中遇到这种情况,同样按这个办法判断。
- 换一个网络环境再问一次,结果不同即有副本未过期
- 向管这个域名的服务器问,拿到的永远是最新
- 两者结果有出入,差别就在中间那几层
同一件事在两台设备上问出的结果不同,差别就在路上那几层。
副本让访问变快,也让改动传播变慢。改动之后先算一遍各层的有效期,再决定什么时候去看结果。
