HTTP事务的时延主要有以下几种原因
客户端首选需要根据URI确定Web服务器的IP地址和端口号。如果最近没有对 URI中的主机名进行访问,通过DNS解析系统将URI中的主机名转换成IP地址可能需要花费数十秒的时间。
客户端会向服务器发送一条TCP连接请求,并等待服务器回送一个请求接受应答。每条新的TCP连接都会有连接建立时延。这个值通常最多只有一两秒,但如果有数百个HTTP事务的话,这个值会快速的叠加上去。
建立连接后,客户端会新建立一个TCP管道来发送HTTP请求。数据到达时,Web服务器会从TCP连接中读取请求报文,并对请求进行处理。这些都需要时间。
Web服务器回送HTTP响应,也需要花费时间。
这些TCP网络时延的大小取决于硬件的速度,网络和服务器的负载,请求和响应报文的尺寸,以及客户端和服务器之间的距离。TCP协议的技术复杂性也会对时延产生巨大的影响。