网页一直转圈打不开是什么原因
网页一直转圈打不开是什么原因?前五秒最值钱:这五秒里发生了解析、连接、握手、等首字节四件事,卡在哪一件,方向就在哪。
| 现象 | 落在哪 | 下一步 |
|---|---|---|
| 立刻报错、页面没出现 | 连接 | 看端口与链路 |
| 一直转、地址栏没进度 | 连接或握手 | 跑一次 curl -v 看停在哪 |
| 转很久才出内容 | 首字节 | 看后端与负载 |
| 出来一部分就停 | 下载 | 看资源与体积 |
| 只有这台转 | 本机 | 换设备对照 |
转圈的时候,浏览器到底在等什么?
四件事:解析域名、建立连接、握手、等首字节。四件事依次发生。
用一条命令看它走到哪:
`` curl -v --max-time 10 -o /dev/null https://你的域名 2>&1 | tail -20 ``
看到 Connected to 之后没下文:连接通了,在等首字节。这就是最常见的转圈。
没有 Connected to:连接都没建立,先查端口与链路。
出现 Connection refused:有人明确拒绝,看端口在不在监听。
三种输出,三个方向。别三种一起改。
等了半分钟才报错,算打不开还是算慢?
两个都要排除,顺序别反。先排除「不通」,再排除「慢」。
把超时压短再测一次:五秒断、十秒也断,那就是确实没回。
十秒能回、只是慢,那就不是打不开,是慢,回去看五段。
这一步不用改任何配置,三十秒能做完。
确认是慢之后,用宝塔拨测的网站测速跑多地区节点,看各地状态码和五段,能分清全局还是局部。
只有这一台转,还用不用查站点?
先别查站点,先把范围锁在这一台机器上。
同一时刻用手机流量开一次。
手机能开、这台不能:查这台的代理、hosts、DNS。三样排完再谈站点。
两边都不行:问题在站点侧,接着看多地区的结果。
换浏览器还转,问题就差在哪儿?
换浏览器排除的是内核和扩展,排除不了链路。这一步只能排一半。
所以换完还转,只能说明不是扩展或缓存的问题。
这时要换的是网络,不是第二个浏览器。变量一次只换一个。
两个浏览器、两条网络都转,才轮到查站点。
到这一步,工具就该上场了。
有一点我没确认:curl -v 在不同版本里对握手阶段的输出顺序略有差异,我手上没有逐版本对照,只能按「有没有 Connected to」这个分界判断。