http 长连接,长轮询区别

HTTP长连接(long connection)与短连接(short connection)本质上都是基于TCP的;当然HTTP长轮询HTTP短轮询也是基于HTTP的,而HTTP是建立在TCP之上的。因此本质上也是基于TCP的。

长连接和短连接:
  • 短连接是指在一次HTTP请求和响应之后立即关闭本次TCP连接,下次请求响应重建一个新的TCP连接;
  • 长连接是指请求响应之后并不立即关闭本次TCP连接,下次请求响应继续重用该TCP连接。

HTTP/1.0默认是短连接,HTTP/1.1起是默认长连接,长连接通过请求头Connection: keep-alive启用长连接、也通过Keep-Alive: timeout=20设置长连接的超时时间(秒)。

长轮询和短轮询
  • HTTP长轮询(long polling)是指服务端收到请求后若有数据立即返回,若无数据则保持到有数据或一段时间后超时,浏览器收到响应后立即重新发送相同的请求;
  • HTTP短轮询(short polling)是指服务端收到请求后无论是否有数据都立即返回,浏览器收到响应后间隔一段时间后重新发送相同的请求。轮询建立在连接基础上,轮询是长是短与连接是长是短无关。

你可能感兴趣的:(http 长连接,长轮询区别)