长连接、短连接与WebSocket的基本知识

目录

前言

🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF

爬虫神器,无代码爬取,就来:bright.cn

Java基本知识:

  1. java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)
  2. 【Java项目】实战CRUD的功能整理(持续更新)

初次接入webSocket,对此分析与长短连接的差异所在

正文

先通过一个表格了解基本知识:

特性短连接长连接WebSocket
连接持续请求后断开持续连接持续连接
通信方向单向(请求-响应)单向为主双向(全双工)
建立开销每次都建立只需一次一次升级后持续
实时性一般优秀
应用场景Web请求、API调用数据库连接、消息队列实时推送、IM、协作工具
传输协议TCP(HTTP)TCP(Keep-Alive) TCP(升级为 WebSocket)

具体各方面的知识如下:

  • 短连接
    指的是每次客户端与服务器通信时都重新建立一次连接,数据传输完成后立即关闭连接
    每次通信都需三次握手、四次挥手(TCP协议)
    适用于请求-响应模型,连接时间短
    常见于:HTTP 1.0、REST API 接口等

✅ 优点:

节省资源,不需要长期维持连接

实现简单,适合访问频率较低的应用

❌ 缺点:

多次连接建立开销大(尤其在频繁请求时)

无法实时通信,延迟高

  • 长连接
    指客户端和服务器建立连接后保持不关闭,可用于多次数据交互
    只需一次握手,可以多次通信
    常见于:HTTP 1.1的 Keep-Alive、数据库连接池、Socket 通信等

✅ 优点:

避免重复建立连接,提高效率

更适合频繁通信的场景

❌ 缺点:

占用资源,需要心跳机制保持连接活跃

网络中断或服务器异常需特殊处理

  • WebSocket
    是一种在单个 TCP 连接上进行全双工通信的协议,允许服务器主动向客户端推送数据。
    建立在 HTTP/HTTPS 上,升级为 WebSocket 协议(使用 Upgrade 头)
    全双工通信,实时性强
    广泛应用于聊天系统、在线游戏、实时行情等

✅ 优点:

单连接、低开销、可实时推送

全双工通信,客户端和服务端都可以主动发消息

基于标准,浏览器原生支持

❌ 缺点:

对服务器资源要求高,需保持连接状态

网络代理(如防火墙)可能影响连接建立

安全问题需注意(如 XSS、CSRF)

场景示例:

类型场景
短连接请求频率低:新闻浏览、搜索请求
一次性传输即可完成任务的系统
长连接数据库访问(如 MySQL 连接池)
长时间业务流程:支付交易、文件上传
WebSocket实时消息推送(IM、在线客服)
实时协同办公(Google Docs、协作白板)
游戏对战、实时交易系统(股票、币圈)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农研究僧

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值