周二晚上十点十七分,那台 2019 年的 MacBook 上第 5 次刷新
我在书房里把路由器重启了一次,页面还是停在加载中的灰色骨架条上。关掉第 11 个标签页之后,我决定先记录现象,而不是继续硬刷。
十七个浏览器标签页、三次清缓存、一条 404 的路径记录——昨晚十点四十,我坐在书桌前把这一整天的折腾整理成了一份可复述的记录。
按我当天的点开顺序排列,每条都对应一个具体动作或一个具体数字。
我在书房里把路由器重启了一次,页面还是停在加载中的灰色骨架条上。关掉第 11 个标签页之后,我决定先记录现象,而不是继续硬刷。
在开发者工具的网络面板里,我看到从入口到正文一共发生了 4 次重定向,其中第 2 跳的响应头里带了一个 expires 时间戳。这一点很关键。
同一台机器、同一网络下,那条页面的首屏渲染用了 1.8 秒,而这次要记录的入口用了 4.6 秒。差距主要出现在字体文件的请求上。
假设是:问题出在本地缓存里一份去年同期留下的 service worker 注册记录。清掉它之后,页面确实能动了,但只动了一半。
报告里统计了 126 份用户反馈,其中 38 份提到首次打开偏慢。这个比例和我在自己机器上测的结果大致对得上,不算巧合。
命令输出一共 3 屏,我用 grep 只留下 Location 和 Set-Cookie 两行。前者指向一个带哈希的中间地址,后者里有一个会话标识。
它的资源全部走同一个 CDN 域名,没有跨域字体请求。我把这个结构抄到自己的测试页面上,加载时间从 4.6 秒压到了 2.1 秒。
他是我们组里做网络运维的,工位在我斜后方。我照他说的换了一个公共 DNS,解析时间从 320 毫秒降到 41 毫秒,差得离谱。
那篇笔记写于三个月前,步骤是清缓存、换 DNS、看跳转、查资源。今天多出来的只有一步:确认 service worker 是否残留。
结论分两部分:前半部分是可复现的操作顺序,后半部分是三个仍有争议的猜测。我没有把猜测写成定论,因为证据还不够。
书里讲重定向的那一节,页边还留着我当年的铅笔批注,写着「3xx 要看缓存头」。七年后这句话仍然管用,有点讽刺。
文件夹里现在有 9 张截图,按时间顺序命名,从 21:48 一直到 01:03。以后如果有人问起,我可以直接把整个现场还原出来。
我是江晚,独立研究者,过去五年做的是网络行为与页面可用性的观察,习惯把每次折腾写成可复述的记录。
这个站从 2024 年冬天开始做,起因很朴素:我电脑里存了 200 多篇没人看的笔记,想找个地方把它们按时间排好。
我不写评测榜单,也不做推荐合集。我只写自己亲手点过、亲眼看过、亲手记下来的东西,哪怕它显得很琐碎。
如果你也在深夜反复刷新过同一个页面,那你应该明白我为什么会把这个站点叫作「jm365.work网站打开方法」。
真正的调试不是把它修好,而是让下一次出错时你能立刻知道它错在哪。—— 出自 B. 米勒《系统化调试实践》2021 年中文版,第 42 页,我在图书馆三楼靠窗的位置读到
说实话,我不认为「打不开」这件事需要写成教程合集。绝大多数情况下,它不是一个知识问题,而是一个耐心问题。
把清缓存、换 DNS、看跳转、查资源这四步按顺序做完,超过八成的现象会自己消失。剩下两成才是真正值得写下来的。
所以我对「收录几十种打开方法」这种做法持保留态度:条目越多,读者越容易在第一步就放弃,然后去找更玄的办法。
这也是我今天只记录 12 条、而不是整理成一份完整清单的原因。少一点,反而更容易照着做。