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)是指服务端收到请求后无论是否有数据都立即返回,浏览器收到响应后间隔一段时间后重新发送相同的请求。轮询建立在连接基础上,轮询是长是短与连接是长是短无关。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容