当前位置: 首页 > article >正文

TCP长连接、HTTP短轮询、HTTP长轮询、HTTP长连接、WebSocket的区别

1.TCP长连接

(1)概念:该连接属于传输层的协议。客户端和服务器之间建立连接后,不立即断开该连接,而是一直保持这个状态,以便后续数据的持续、连续传输。

(2)应用场景:适合频繁、持续交换数据的场景。
如:数据库连接,即时通讯。

2.HTTP短轮询

(1)概念:客户端每间隔一段时间向服务器发送请求,服务器接收到请求以后,不管是否有新数据产生,都立即响应客户端的请求。

(2)应用场景:重要通知、实时预警‌、后台处理数据‌。

3.HTTP长轮询

(1)概念:客户端向服务器发送请求以后,不会立即关闭,而是保持连接开放,等待服务器响应。服务器接收到客户端发送的请求以后,不会立即响应,而是将请求挂起,直到服务器有新数据产生或者达到设定的超时时间以后,才会响应挂起的客户端请求,响应包含更新的数据。

(2)应用场景:实时通知、实时监控和仪表盘

4.HTTP长连接(Keep-Alive)

(1)概念:客户端和服务器之间没有持续的数据传输。客户端和服务器之间发送HTTP请求和响应HTTP请求,复用同一个TCP连接,这样就减少了频繁的TCP连接和TCP断开。

(2)应用场景:Web 页面加载、API 调用、实时通信、文件传输、流媒体、微服务架构、物联网(IoT)、代理服务器、负载均衡等。

(3)HTTP 1.0 和 HTTP 1.1的区别

   1)HTTP 1.0 默认没有开启长连接(Keep Alive),需要在http头加入"Connection: Keep-Alive",才能启用Keep-Alive。

   2)HTTP 1.1 默认是开启Keep Alive 长连接的,如果加入"Connection: close" 长连接才会关闭。 

5.Websocket

(1) 概念:基于HTTP协议,客户端和服务器建立连接以后,服务端数据发生变化,会立刻推送给客户端。

(2)应用场景:股票交易行情分析、聊天室、在线游戏、替代长轮询。

http://www.kler.cn/a/540912.html

相关文章:

  • CTFHub-RCE系列wp
  • BS架构(笔记整理)
  • Web前端开发--HTML
  • 通讯录管理小程序
  • Level DB --- Iterator
  • UML学习
  • Wpf美化按钮,输入框,下拉框,dataGrid
  • 【AI学习】LLM的发展方向
  • Qt:Qt Creator项目创建
  • CEF132 编译指南 MacOS 篇 - 基础开发工具安装实战 (二)
  • 游戏引擎学习第93天
  • 【Java】多线程和高并发编程(三):锁(下)深入ReentrantReadWriteLock
  • C++ decltype 规则推导
  • 能够复刻人类意识并实现永生的虚拟生态系统
  • (一)Axure制作移动端登录页面
  • pgsql最快的数据导入BeginBinaryImport
  • P3413 SAC#1 - 萌数
  • 中国城商行信贷业务数仓建设白皮书(第五期:智能决策体系构建)
  • 基于javaweb宠物领养平台管理系统设计和实现
  • webpack配置项之---output.assetModuleFilename
  • 解决“wsl 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理”
  • 深度解析:使用ChromeDriver和webdriver_manager实现无头浏览器爬虫
  • OpenEuler学习笔记(二十二):OpenEuler上部署开源ERP系统Odoo
  • E7770A公共接口单元
  • 全面理解-c++11中的智能指针
  • Bash语言的移动应用开发