网络 | 应用层-websocket协议概述与握手过程解析

news2024/11/16 21:57:44

背景:这里为了实现消息实时传输决定引入websocket协议。
在这里插入图片描述
不管是发送消息还是接收消息,都需要实时传输,张三发给李四,李四立马就能收到,基于HTTP实现是有些困难的。
在这里插入图片描述
但轮询方式也带来了一些问题
1、消耗更多系统资源:接收方在等待过程中需要频繁给服务器发起请求,大部分是空转的
2、获取到消息不够及时:需要等到下个请求周期才能拿到数据

提高轮询频率,获取消息及时但系统资源消耗变多
降低轮询频率,系统资源消耗变少但获取消息不及时了
所以为了更好的解决上边的消息推送问题,我们引入websocket协议

一、概述

websocket是应用层协议,与http地位对等,都是基于传输层tcp协议实现的。

为了兼容现有设施,websocket协议使用与http协议相同端口,使用http upgrade机制实现websocket握手,当握手完成,通信双方可以按照websocket方式进行交互。

websocket中,通信双方数据传输的基本单元为帧,websocket 的帧 可以分为两类, 一类是用于传输控制信息的帧(如通知对方关闭 websocket 连接), 一类是用于传输应用数据的帧, 使用 websocket 协议通信的双方都需要首先进行握手, 只有当握手成功之后才开始使用 帧 传输数据。

二、握手过程

  1. 浏览器发起的HTTP请求中带有特殊的header:connection:upgrade upgrade:websocket
  2. 服务器返回带有特殊的header:connection:upgrade upgrade:websocket,特殊响应码:101

在这里插入图片描述

注意:websocket基于HTTP实现这种说法是错误的,HTTP相当于是websocket的“工具人”!

客户端通过HTTP发送协议升级的请求,服务器通过HTTP返回同意协议升级的响应,握手过程完成后,两者就不再通过HTTP通信,而是通过websocket通信了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1676504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于RK3568的鸿蒙通行一体机方案项目

鸿蒙通行一体机方案以鸿蒙版AIoT-3568X人工智能主板为核心平台,搭载OpenHarmony操作系统,使用自研算法和国产芯片,可管可控,并提供身份识别以及其他外设配件生态链支持。 01 项目概述 项目使用场景 鸿蒙版通行一体机方案凭借自主…

解决AdaptiveAvgPool2d部署算子不支持问题

一、Pytorch中AdaptiveAvgPool2d函数详解 torch.nn.AdaptiveAvgPool2d()接受两个参数,分别为输出特征图的长和宽,其通道数前后不发生变化。如以下: self.global_avgpool nn.AdaptiveAvgPool2d(1) # 输出N*C*1*1 self.global_avgpool …

ssl证书申请配置要怎么弄?

SSL证书是一种公钥证书,用于保护网站的数据传输过程,确保网站数据的安全性。在网站上使用SSL证书可以有效地防止黑客攻击、窃取用户信息等安全问题。下面将详细介绍SSL证书的申请和配置。 一、SSL证书的申请 1. 选择证书品牌和类型 目前市场上有很多S…

Edge(微软)——一款充满创新精神的浏览器

随着科技的不断进步,互联网浏览器已经成为我们日常生活中不可或缺的工具。在这个领域,微软Edge作为一款新型的浏览器,凭借其独特的功能和优秀的性能,逐渐在市场上占据了一席之地。本文将深入探索微软Edge的特点、优势以及它如何改…

B/S版+java开发的医院绩效考核系统maven+Visual Studio Code 医院绩效考核管理系统 提升医疗服务质量的关键

B/S版java开发的医院绩效考核系统mavenVisual Studio Code 医院绩效考核管理系统 提升医疗服务质量的关键 医院绩效评价系统的建设,优化医院绩效管理体系,规范化工作目标的设计、沟通、评价与反馈,改进和提供医院管理人员的管理能力和成效&am…

GPT-4o:融合文本、音频和图像的全方位人机交互体验

引言: GPT-4o(“o”代表“omni”)的问世标志着人机交互领域的一次重要突破。它不仅接受文本、音频和图像的任意组合作为输入,还能生成文本、音频和图像输出的任意组合。这一全新的模型不仅在响应速度上达到了惊人的水平&#xff0…

【C++】详解C++的模板

目录 概念 ​编辑 语法 函数模板 类模板 非类型模板参数 模板的特化 函数模板特化 类模板特化 全特化 偏特化 分离编译 概念 模板是C中非常厉害的设计,模板把通用的逻辑剥离出来,让不同的数据类型可以复用同一种模板的逻辑,甚至可以…

【智能优化算法】雁群优化算法(Wild Geese Algorithm,WGA)

雁群优化算法(Wild Geese Algorithm,WGA)是期刊“Array”的2021年智能优化算法 01.引言 雁群优化算法(Wild Geese Algorithm,WGA)用于大规模全局优化,并利用IEEE CEC 2008和CEC 2010高维D100、500、1000特别会议的大规模测试函数验证了该算法的效率和性能。WGA的灵…

Python专题:四、字符串(2)

字符串可以用 (单引号)和" "(双引号) 变量 字符串 len()计算字符串长度 可以通过下标, 字符串[]引用字符,不能超过下标数量,否则就会报错。 还可以用负数进行下标,表示…

【正点原子Linux连载】 第四十二章 多点电容触摸屏实验摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南

1)实验平台:正点原子ATK-DLRK3568开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id731866264428 3)全套实验源码手册视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban 第四十…

C++复习 -- 常用关键字

this 关键字: 概念 在 C 中&#xff0c; this 关键字是一个指向调用对象的指针。它在成员函数内部使用&#xff0c;用于引用调用该函数的对象。使用 this 可以明确指出成员函数正在操作的是哪个对象的数据成员。 case :证明他就是一个指向被调用对象的指针: #include <iost…

Nginx的正向代理与反向代理

你好呀&#xff0c;我是赵兴晨&#xff0c;文科程序员。 今天&#xff0c;我们将一起了解什么是Nginx的正向代理&#xff1f;什么是Nginx的反向代理&#xff1f;并实际动手实践。 以下内容都是满满的干货&#xff0c;绝对不容错过。我建议先收藏这篇文章&#xff0c;然后找一…

Transformer+Classification学习笔记

论文名称&#xff1a;An Image is Worth 16x16 Words:Transformers for Image Recognition at Scale [2112.11010] MPViT: Multi-Path Vision Transformer for Dense Prediction (arxiv.org) 参考博客与视频&#xff1a; Vision Transformer 超详细解读 (原理分析代码解读) …

Jmeter 性能-需求分析业务/场景设计

1、性能测试需求分析与业务调研 性能测试的需求不能直接从产品经理那里获得&#xff0c;因为产品经理定义的性能需求比较抽象。 要落实到可执行的性能测试需求往往需要进一步分析和细化。这也是为什么获取具体的性能需求比较难的一个原因。 一般情况下&#xff0c;要知道性能…

(二刷)代码随想录第6天|242.有效的字母异位词、349.两个数组的交集

242.有效的字母异位词 242. 有效的字母异位词 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) 学透哈希表&#xff0c;数组使用有技巧&#xff01;Leetcode&#xff1a;242.有效的字母异位词_哔哩哔哩_bilibili 给定两个字符串 s 和 t &#xff…

基于大模型训练的数字识别

创作原因 现在写电赛题&#xff0c;题目有识别数字的要求。但使用设备openmv使用模板匹配的算法帧率很低&#xff0c;且识别效果不是很好&#xff0c;于是我们就想到了利用神经网络训练模型来识别数字 正文部分 内容介绍 本文内容是基于openmv使用Edge Impulse训练大模型。…

网络安全等级保护测评指标解读(2.0)

网络安全等级保护2.0测评指标解读&#xff1a; 1、物理和环境安全 2、网络和通信安全 3、设备和计算安全 4、应用和数据安全 5、安全策略和管理制度 6、安全管理机构和人员 7、安全建设管理 8、安全运维管理 软件资料清单列表部分文档&#xff1a; 工作安排任务书&#xff0c;…

【数据结构】红黑树(定义性质、插入、查找、删除)解析+完整代码

3.3 红黑树 3.3.1 定义和性质 为什么发明红黑树&#xff1f; 平衡二叉树和红黑树的时间复杂度相同&#xff0c;但是平衡二叉树的平衡特性容易被破坏&#xff0c;需要频繁调整树的形态。 红黑树RBT&#xff1a;插入/删除很多时候不会破坏红黑特性&#xff0c;无需频繁调整树的形…

Kimi智能助手:你的全天候AI伙伴

Kimi使用链接&#xff1a; https://kimi.moonshot.cn/ Kimi手机端下载链接&#xff1a; https://kimi.moonshot.cn/download/app?refchat 简介&#xff1a; Kimi AI 是由月之暗面科技有限公司&#xff08;Moonshot AI&#xff09;开发的一款人工智能助手&#xff0c;它具备多…

正运动技术与合作伙伴邀您共聚2024武汉光博会

■展会名称&#xff1a; 2024“中国光谷”光电子博览会暨论坛&#xff08;以下简称“武汉光博会”&#xff09; ■展会日期 2024年5月16日 - 18日 ■展馆地点 中国光谷科技会展中心A3馆 ■展位号 3A21 5月16至18日&#xff0c;中国光谷科技会展中心将举办第二十届武汉光…