我们都有过这样的经历:你点击一个链接,你的浏览器就……停在那里。10-15 秒后,页面可能最终会加载,但通常情况下,如果你只是停止页面并刷新,页面就会立即加载。
这是什么技术原因?为什么网络连接卡住了,无法完成页面加载,但如果我停止请求并刷新,它几乎立即成功?为什么第一个连接无法恢复?
我意识到这可能是由各种各样的原因引起的,特别是在服务器端,但我怀疑在大多数情况下它与网络堆栈本身(TCP / IP)有关,所以我正在寻找最普遍适用的答案。
答案1
使用浏览器的开发人员工具来确定时间花费在哪里——DNS 查找、连接时间、发送请求的时间以及服务器开始和完成发送响应的时间都应该在那里分解。