首页 > 其他分享 >了解HTTP请求、HTTP轮询、websocket、SSE通信方式

了解HTTP请求、HTTP轮询、websocket、SSE通信方式

时间:2024-11-25 14:34:33浏览次数:7  
标签:websocket 请求 SS 轮询 http 服务器 HTTP 客户端

了解浏览器和服务器通信的方法

http请求

http请求就是客户端向服务器发送请求,服务器响应,完成请求就断开连接。

优点:操作简单,几乎所有浏览器都支持。

缺点:HTTP是无状态的,服务器无法跟踪客户端的状态信息。

http轮询

原理:客户端每隔一段时间向服务器发送http请求,服务器收到请求后向客户端返回最新的数据。分为长轮询和短轮询。

注意这里发送请求就是http请求,包含三次握手建立tcp连接,服务器响应后就四次挥手断开tcp连接。

  • 短轮询原理:客户端每隔一段时间向服务器发送请求,服务器接收到数据之后,检查是否有新数据,如果有新数据返回数据,如果没有新数据就返回空。

  • 优点:客户端可以及时获取数据。

  • 缺点:浪费服务器资源,因为会产生大量的请求和响应。

  • 长轮询原理:客户端向服务器发送请求,服务器收到请求之后,会等待一段时间(直到有数据或者超时),如果有新数据就返回数据,如果没有新数据,超时之后就返回空。客户端接收到响应后再次发送请求。

  • 优点:相比短轮询减少了响应次数,从而减少了服务器资源的浪费。客户端可以实时获取数据

总结http轮询:可以实现实时通信,但是要注意轮询间隔和超时设置。

http轮询使用场景:即时消息推送,即时状态更新。1

websocket

websocket是一种协议,在服务器和客户端之间建立实时,双向的连接。通过单个TCP连接建立全双工通信。

原理:客户端发送http请求,请求头中包含升级协议的信息,表示希望变成websocket连接,服务器收到请求后同意升级协议,返回的响应包含websocket连接的相关信息(比如唯一标识SID),之后就可以进行双向数据通信了(使用ws/wss协议,不再是http/https 协议)。

优点:减少服务器负载(不需要每次交互都重新建立连接)。

缺点:兼容性问题(浏览器是否支持),安全性问题(保持连接的过程受到攻击)

websocket使用场景:在线聊天,多人协作应用。

SSE

SSE基于http的单向、持久长连接的通信方式,服务器向客户端推送实时数据,但客户端不可以向服务器发送数据。

优点:如果连接断开SSE会尝试重连。缺点:单向通信,兼容性问题(浏览器是否支持),仅可以传输文本信息。

SSE使用场景:股票价格实时变动,Chatgpt

标签:websocket,请求,SS,轮询,http,服务器,HTTP,客户端
From: https://blog.csdn.net/m0_73918807/article/details/144026391

相关文章

  • ssm毕设在线学习考试程序+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的飞速发展,互联网在教育领域的应用日益广泛。在线学习考试系统逐渐成为现代教育和企业培训等领域不可或缺的一部分。传统的学习和考......
  • ssm毕设智慧养老院管理系统程序+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着全球人口老龄化进程的加速,养老问题成为社会各界关注的焦点。传统的养老院管理模式在应对日益增长的老年人口、多样化的需求以及高效管理等方......
  • HTTP 401 和 HTTP 403的区别
    HTTP401和HTTP403都是表示访问控制相关的错误状态码,但它们表示的具体含义和产生的原因有所不同:###HTTP401错误(未授权)-**含义**:表示请求没有提供有效的认证信息,或者认证信息不正确。-**原因**:用户可能没有登录,或者提供的用户名和密码不正确,或者使用的认证令牌无效。-**......
  • 基于SSM的养老院管理系统的设计与实现docx
    摘要养老院管理系统是一款旨在提高养老机构运营效率、改善老年人生活质量的软件。系统通过为护工、用户和管理员提供专门的功能模块,确保了养老院的日常工作能够高效有序地进行。该系统不仅提升了养老院的服务品质,也提高了工作效率,满足了不同用户的多样化需求。系统对于Ja......
  • 基于ssm的在线商品管理系统的设计与实现
    摘要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对在线商品管理系......
  • 免费送源码:Java+ssm+MySQL 社区干洗店服务微信小程序 计算机毕业设计原创定制
    目 录摘要11绪论11.1意义11.2课题背景11.3node.js主要功能11.4node.js功能模块11.5论文结构与章节安排12社区干洗店服务微信小程序系统分析32.1可行性分析32.2系统流程分析32.2.1数据增加流程32.3.2数据修改流程42.3.3数据删除流程42.3系......
  • 使用css实现一个响应式汉堡包菜单
    <!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>响应式导航菜单</title>......
  • FastHtml:Websockets
    FastHTML支持WebSockets,允许你与客户端建立持久连接并进行双向通信。以下是如何使用WebSockets进行双向通信的示例:fromfasthtml.commonimport*fromasyncioimportsleepapp,rt=fast_app(exts='ws')#启用WebSocket支持defmk_inp():returnInput(id='m......
  • FastHtml :服务器发送事件SSE
    FastHTML支持服务器发送事件(SSE),允许服务器向客户端发送实时数据更新。以下是如何使用SSE实现实时数据更新的示例:fromfasthtml.commonimport*fromasyncioimportsleepapp,rt=fast_app()app.exts='sse'#启用SSE支持@rt("/")defindex():retu......
  • openssl创建自签名证书
    原文地址:自签名证书–无敌牛欢迎参观我的个人博客:无敌牛–技术/著作/典籍/分享等1生成私钥opensslgenrsa-outserver.key20482创建证书请求文件opensslreq-new-keyserver.key-outserver.csr3用私钥和证书请求文件,生成签名文件opensslx509-req-days3......