我在调试运行在Microchip嵌入式平台上的Web服务器。除了固件源允许我完全控制编码所有TCP/IP通信之外,嵌入式部分不应相关。各个HTTP GET文件请求之间的浏览器延迟
特别是在Internet Explorer中,呈现服务器内容之前所需的所有GET请求之间的延迟时间均为3到10秒。当它第一次访问网站并且没有任何内容被缓存时,通常有大约5个文件需要检索(htm,css,js),所以在用户看到页面前15秒以上。
Wireshark捕获表明,它肯定是引入延迟的客户端,因为Web服务器在收到每个连接请求后立即响应。连接完成后双方都发送了FIN/ACK,这是我看到客户端发送下一个SYN连接下一个GET之前的最少3秒暂停时间。从SYN到FIN/ACK的完整连接没有问题,需要半秒钟。
我验证了每一方都确认对方的FIN标志,因为其最终ACK分组的确认号相应增加。我甚至扩大了捕获范围,以显示涉及客户端MAC地址的所有流量,并且在延迟期间没有任何类型的流量。
任何人有一个想法发生了什么? HTTP头文件等任何服务器端会导致这种情况吗?谢谢你的帮助。