20220328 - BUG的出处
问题现象:
对某网站更换域名,网站首页HTML源代码中的域名始终显示了旧的版本,其间也有按F5刷新。
解决思路:
检查了程序和数据库的每个角落,但并未发现有旧域名的存在。
解决过程:
于是本地配置了环境,结果发现同样的程序和数据,本地居然没有线上环境的问题。突然灵光闪现,按Ctrl + F5 强制刷新 Edge 浏览器,F*,问题解决了。
总结:
按逻辑,旧域名一定是存在于程序或者数据库的某个地方,而现在现象与逻辑假设冲突了。
产生问题的可能性分为:一、观察到的现象细节不对;二、逻辑假设不对。
现象观察不对,可能是重现步骤错了,或是看到的网页和代码不匹配,或线上和本地环境存在差异。逻辑假设不对,作为 Web 程序,只假设了 Web 源码与数据库导致,而忽略了浏览器和服务端程序。
没想到答案居然藏在了浏览器中,Edge 浏览器的缓存机制与 Chrome 存在一些差异,印象中,可能是 Edge 缓存导致的第二个问题了。
发现问题的过程是否有改进空间:
从逻辑和事实出发,逻辑严密的前提下,充分性也很重要。