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)是指服务端收到请求后无论是否有数据都立即返回,浏览器收到响应后间隔一段时间后重新发送相同的请求。轮询建立在连接基础上,轮询是长是短与连接是长是短无关。
网友评论