个人感觉,长连接和短连接是错误的描述,应该是长轮询和短轮询。
长轮询是一个在过去被广泛使用的概念,正是这种技术让网络感觉像是实时的,我认为了解一点历史会帮助你更好地理解。
目录
互联网简史
如果您足够大,那么您就会知道早期的网络非常无聊。我所说的无聊是指静态的,没有活动部件。
它只是在 HTTP 请求/响应模型下以单向方式同步工作。

在这个模型中,客户端请求服务器发送一个特定的网页。然后服务器将其发送给客户端。故事到此结束。
如果客户端需要另一个页面,它将发送另一个对该页面数据的请求,服务器将请求的数据作为 HTTP 响应发送。
没有什么花哨的。很简单,很单调。
因此,在 Web 的早期,HTTP 作为一种简单的请求-响应协议是有意义的,因为它旨在根据客户端的需求从服务器提供文档。然后该文档将包含到其他文档的链接(超链接)。
没有什么比 javascript 更好的了。全是 HTML。
Javascript 之后的时代
Javascript 诞生于 1995 年,当时Netscape Communications聘请Brendan Eich在 Netscape Navigator 中实现脚本功能,经过十天的时间,JavaScript 语言诞生了。
用 10 天构建的语言你能做多少——好吧,没什么。它仅用于补充 HTML……例如提供表单验证和动态 HTML 的轻量级插入。
但这为 Web 开发世界提供了一种全新的方式。它正在从静态走向动态时代。网络不再是静态的,它发现了动态改变自身的能力。
在接下来的 5 年里,当浏览器大战升温时,微软诞生了XMLHttpRequest对象。但是,这仅受 Microsoft Internet Explorer 支持。
2006年万维网联盟于 2006 年 4 月 5 日发布了 XMLHttpRequest 对象的工作规范。这赋予了 Web 开发人员权力——他们现在可以发送异步请求从服务器获取数据并更改部分DOM 与新数据。不再需要加载整个页面。
这使得网络更加令人兴奋,不再单调。
这是历史上实时聊天应用程序成为现实的时间。它是使用长轮询机制实现的。
长轮询的诞生
长轮询是出于必要而诞生的。在长轮询之前,人们习惯于使用短轮询技术。
整个网络都在请求/响应协议上工作,因此服务器无法将消息推送到客户端。必须请求数据的始终是客户。
短轮询技术
在简短的轮询技术中,客户端不断向服务器发送请求并请求新数据。如果没有新数据,服务