HTTP长连接和短连接及应用情景

HTTP短连接

HTTP/1.0中默认使用短连接, 客户端和服务器进行一次HTTP操作, 就需要建立一次连接, 任务结束连接也关闭. 当客户端浏览器访问的web网页中包含其他的web资源时, 每遇到一个web资源都会再重新建立一次连接.

一般情况下, web网站的http服务都采用短连接, 因为长连接会耗费服务器的资源, 当用户量很大且采用长连接时, 并发量很大, 每个用户无需频繁操作时采用短连接就可以.

HTTP长连接

从HTTP/1.1起, 默认使用长连接, 用来保持连接性. 使用长连接的HTTP协议, 会在请求头部加入connection: keep-alive.

在使用长连接时, 当完成一次任务后, 客户端和服务器之间的连接不会关闭, 当客户端再次访问该服务器时, 会继续使用这条已建立的连接. 但是长连接不是永久地保持连接, 它有一个保持时间, 在服务器软件中设定保持时间. 长连接的使用需要客户端和服务端都支持长连接.

长连接能够减少TCP连接的重复建立和断开所造成的额外开销, 减轻服务器端的负载. 另外, 减少开销的那部分时间, 使HTTP请求和响应能够更早地结束, 使得 Web 页面的显示速度有所提高.

长连接多用于频繁操作, 点对点的通讯, 且连接数不能太多, 比如数据库的连接. 每个TCP连接的建立都需要时间, 如果每次操作都是先连接再操作的话, 处理速度会降低.

作者:凯旋.Lau
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/KX-Lau/p/12540238.html