网页一直转圈打不开是什么原因?前五秒最值钱:这五秒里发生了解析、连接、握手、等首字节四件事,卡在哪一件,方向就在哪。

现象 落在哪 下一步
立刻报错、页面没出现连接看端口与链路
一直转、地址栏没进度连接或握手跑一次 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」这个分界判断。