长连接和短连接
短连接
- 客户端和服务端每进行一次 HTTP 请求操作,都会建立一次连接,任务结束就中断连接
- 当浏览器访问某个 HTML 页面或其他 Web 静态资源(CSS、JS)时,每次请求都会重新建立一个新的 HTTP 会话
- 短连接多用于操作频繁,点对点的通讯,而且连接数不能太多的情况
- 例如:web网站的http服务一般都用短连接。因为访问网站的数据量大,长连接对于服务器来说要耗费一定的资源
长连接
- 客户端和服务端成功建立连接之后不会断开,然后开始数据传输
- 后续客户端再次请求服务端的时候,会继续使用已建立的连接
- 但这个连接不会永久存在,会有一个过期时间,由服务器决定
- 实现长连接需要客户端和服务端都支持长连接
- 例如:数据库的连接用长连接,如果用短连接频繁的通信会造成socket错误,频繁的socket创建也是对资源的浪费
实际工作中遇到的问题
- 直播功能接入第三方SDK,获取用户头像第三方SDK从长连接改成了短连接,导致获取头像加载较慢
- 开发修改:请求获取用户头像后存储本地