首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

理解websocket原理

首先我们看一下websocket出现背景,我们知道http系列协议是建立在tcp上,理论上,他是可以可以双向通信。但是http1.1之前,服务器没有实现推送功能。...以上是http协议关于请求一些发展,而websocket就服务端推送提供了另外一种解决方案。他本质上是在tcp协议上封装另一种应用层协议(websocket协议)。...,后续数据通信,就是基于tcp连接之上,使用websocket协议封装数据包。...后续数据通信就可以基于加密来进行了。不再重复。后续分析tls协议时候再分析。 经过一系列分析,我们对websocket协议应该有了更多了解,最后再说一个关于websocket点。...所以我们想维持websocket连接的话,需要自己去发送心跳包,比如ping,pong。 总结:本文分析了websocket基本原理,但不涉及协议内容,如需了解协议内容,可以参考rfc文档。

1.9K21

详述WebSocket原理

概念和原理 WebSocket协议和HTTP协议一样,都是在ISO七层模型最顶层——应用层。WebSocket允许服务器端主动向客户端推送数据。...协议,所以在请求头中Connection和Upgrade表示客户端发起WebSocket请求; 同时请求头中还有Sec-WebSocket-Version字段表示客户端所使用协议版本号,服务器会确认是否支持该版本号...,服务端拿到这个编码值会把http协议升级成websocket协议 Sec-WebSocket-Extensions表示客户端想表达协议级扩展; Web Socket响应头字段: HTTP/1.1...: 表示服务器接受了客户端请求,由Sec-Websocket-Key计算得来,**计算方式:**将请求头中Sec-WebSocket-Key和258EAFA5-E941-47DA-95CA-C5AB0DC85B11...channels原理: 请求流程图: ? 从左向右,请求来了之后会按照类型分别访问不同方向。 channels整体架构 ? 这个架构图中总共分成了三层:1.

2.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    详述WebSocket原理

    概念和原理 WebSocket协议和HTTP协议一样,都是在ISO七层模型最顶层——应用层。WebSocket允许服务器端主动向客户端推送数据。...:websocket字段把http协议升级成websocket协议,所以在请求头中Connection和Upgrade表示客户端发起WebSocket请求; 同时请求头中还有Sec-WebSocket-Version...是一个Base64编码值,由浏览器随机生成,用于升级request,服务端拿到这个编码值会把http协议升级成websocket协议 Sec-WebSocket-Extensions表示客户端想表达协议级扩展...和Upgrade,和请求字段一样; Sec-WebSocket-Accept: 表示服务器接受了客户端请求,由Sec-Websocket-Key计算得来,**计算方式:**将请求头中Sec-WebSocket-Key...channels原理: 请求流程图: 从左向右,请求来了之后会按照类型分别访问不同方向。 channels整体架构 这个架构图中总共分成了三层:1.

    2.7K10

    WebSocket协议-概念原理

    WebSocket与HTTP不是同一种协议,虽然两者都位于OSI模型应用层,并且都依赖底层TCP协议。它们有着各自协议格式,应用不同场景。...WebSocket协议本身不依赖于HTTP协议,但是在WebSocket最初建立阶段依赖于HTTP,因为在WebSocket握手过程使用了HTTP请求来升级协议。...下面先分析HTTP协议存在问题,然后分析WebSocket是如何工作。 1HTTP协议 HTTP是请求应答通信模型,即客户端主动向服务器发送Request请求,服务器回复Response数据。...服务器无法主动地向客户端发送资源,所以HTTP协议下客户端和服务器之间是非对称工作方式,是一种半双工通信。...确保服务端能够正确地响应客户端请求,从而验证服务端身份 Sec-WebSocket-Protocol:指定使用哪个协议 Sec-WebSocket-Version:客户端可以接受哪些子协议 服务端回复给客户端报文如下

    1.4K10

    萌萌websocket原理解析

    二、Websocket是什么样协议,具体有什么优点 首先,Websocket是一个持久化协议,相对于HTTP这种非持久协议来说。...后面的,Sec-WebSocket-Protocol 则是表示最终使用协议。 至此,HTTP已经完成它所有工作了,接下来就是完全按照Websocket协议进行了。...三、Websocket作用 在讲Websocket之前,我就顺带着讲下 long poll 和 ajax轮询 原理。...首先是 ajax轮询 ,ajax轮询 原理非常简单,让浏览器隔个几秒就发送一次请求,询问服务器是否有新信息。...没有(Response) —- loop long poll long poll 其实原理跟 ajax轮询 差不多,都是采用轮询方式,不过采取是阻塞模型(一直打电话,没收到就不挂电话),也就是说

    87530

    order by工作原理

    今天分享内容关于order by两种排序模式。全字段排序和rowid排序。...其中,第4步按照name字段排序,可能在内存中就能完成,可能需要借助磁盘上临时文件。...02 rowid排序 全字段排序方法,存在一个缺点,在一个有很多字段表中,例如游戏类表,如果我们select列很多,那么sort buffer中字段也会很多,这样sort buffer只能存放很少一部分数据...在排序时候,要借助很多个磁盘临时文件,而磁盘临时文件排序是会影响性能。 那么,到底多少个字段才算多呢?...,那么MySQL会认为单行记录太大,需要使用rowid方法进行排序,基于rowid排序方法如下: 1、由于我们select字段很多,无法放入sort buffer中,MySQL首先会在sort

    72610

    GPUSkinning工作原理

    比较有代表性是帧动画:们将一段较长动作分解成几个关键帧,然后基于此进行动画制作。即使现在们使用工具更新换代,制作动画思路还是大致如此,拆分与过渡。所有的工具都是帮们自动完善其中细节。...这些挂点是模拟出来额外点,通常提供给们挂一些武器或其他装备物体节点。在完成建模后,在进行骨骼绑定时候,通常美术会选择模型盆骨做为模型根骨骼。...和实际生物骨骼不同是,们这里骨骼并没有实质骨头,所以前臂旋转时,他自己没啥可转,改变只是坐标空间朝向。...但还有两个可能疑问,一是骨骼长度问题,由于骨骼是坐标空间,没有所谓长度和宽度限制,们看到长度一方面是蒙皮后结果,另一方面子骨骼原点(也就是关节)位置往往决定了视觉上父骨骼长度,比如这里...们看到长度应该是由手指部分顶点和蒙皮决定,也就是由 Mesh 中属于手指那些点离腕关节距离决定。 为什么要将骨骼组织成层次结构呢?

    5910

    traceroute工作原理

    大家好,又见面了,我是你们朋友全栈君。 MyySophia5个月前 traceroute工作原理 是利用ICMP差错控制报文中TTL超时会回向源点发送一个时间超时报文。...收集每个时间超时报文中IP 就获得了A主机到B主机路径。 –update 2022年3月4日17:13:19 Traceroute,是个“大骗子”。...它会使用 ICMP 规则,故意制造一些能够产生错误场景。 所以,Traceroute 第一个作用就是故意设置特殊 TTL,来追踪去往目的地时沿途经过路由器。...这也是 Traceroute 一个公网地址,看不到中间路由原因。 怎么知道 UDP 有没有到达目的主机呢?...Traceroute 还有一个作用是故意设置不分片,从而确定路径 MTU。要做工作首先是发送分组,并设置“不分片”标志。发送第一个分组长度正好与出口 MTU 相等。

    40650

    WebRTC工作原理

    你想了解它工作原理吗? WebRTC工作起来就像施魔法一样。你将浏览器指向一个URL,让其他人也将他浏览器指向一个URL,然后,你们就能看到彼此了。是不是很酷?...如果你了解WebRTC内部工作原理,你就会知道那里发生了很多事。 我将从不同角度向大家解释WebRTC工作原理。最后,它们将向你呈现出WebRTC完整面貌。...这里我们先抛开WebSocket,但它们内在原理是一样。如果我想给正在使用浏览器朋友发送一条信息,这条信息需要先来到服务器,从那里再发送给我朋友。这与现实生活中邮局非常相似。...WebRTC工作原理问与答 ✅ WebRTC可以用于移动应用吗? 可以。WebRTC在浏览器和操作系统间(包括iOS和Android)工作。作为开源项目,许多人也将它移植到自己环境。...除了支持WebRTC浏览器,你需要安装自己信令服务器和TURN服务器。根据你用例,也可以使用媒体服务器。 ✅ 我在哪里了解更多关于WebRTC工作原理知识?

    1.2K30

    DNS 工作原理

    我们访问每个网站都会经过 DNS,但它速度非常快,以至于我们在日常生活中甚至没有注意到它。有没有想过它在幕后是如何运作?...本文,我们将探索这一个过程所有步骤,从浏览器开始,直到 DNS 返回 IP 地址。但在这之前,我们首先需要了解域名结构,了解这一点对于理解 DNS 是如何有效工作是至关重要。...域名:实际域名名称,例如我们上述域名域名名称就是 baidu。 顶级域名:域名最后一个点之后最后一段。它们是域名层次结构顶层。例如我们上述域名顶级域名就是 .com。...下文中我们将会用到这些术语,所以需要对其有一个基本了解。 DNS 如何工作 以下是 DNS 工作原理分步过程: Local Cache:本地缓存。...首先,浏览器会检查自己缓存,看是否有网站 IP 地址。对于经常访问网站或流行网站,如 Baidu、Google 等,浏览器将使用缓存 IP。

    15710

    HashMap工作原理

    面试官可能会问出下面的问题: “你知道HashMap工作原理吗?” “你知道HashMapget()方法工作原理吗?”...但一些面试者可能可以给出答案,“HashMap是基于hashing原理,我们使用put(key, value)存储对象到HashMap中,使用get(key)从HashMap中获取对象。...这个答案相当正确,也显示出面试者确实知道hashing以及 HashMap工作原理。但是这仅仅是故事开始,当面试官加入一些Java程序员每天要碰到实际场景时候,错误答案频现。...除 非你真正知道HashMap工作原理,否则你将回答不出这道题。...多线程条件竞争 重新调整HashMap大小 总结 HashMap工作原理 HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。

    55610

    闪存工作原理

    前言 闪存有两种分类,NAND型闪存主要用于存储 写操作 ■MOS特性 给栅极高电平,就导通 给栅极低电平,就截止 在MOS管基础上加入浮栅层和隧穿层就变成浮栅晶体管(存储一位数据基本单位...) ■浮栅晶体管写操作(逻辑0) 当给栅极施加较高高电平(较高高电平才能让电子穿过隧穿层),电子到浮栅层就被绝缘层阻碍了 当给栅极低电平时,这时隧穿层就相当于绝缘层,这样电子就被存储起来了,这时隧穿层有电子表示逻辑...,来读取当前状态 ■如何判断有无浮栅层电子?...,擦写单位是块 可以看出两个浮栅晶体管共用一个N沟道,连接是同一块衬底(因为衬底都是同一块,所以以块为单位) 闪存剖视图 闪存3D图 ■如何以块为单位来读写?...当要给某一个晶体管写入逻辑0时,给该行较高高电平(比如20V),给该列低电平(不形成回路,也就不阻碍电子流向浮栅层) 当给某一个晶体管写入逻辑1时,还是给该行较高电平(比如20V),给该列高电平(

    34920

    HTTPS工作原理

    一.首先HTTP请求服务端生成证书,客户端对证书有效期、合法性、域名是否与请求域名一致、证书公钥(RSA加密)等进行校验; 二.客户端如果校验通过后,就根据证书公钥有效, 生成随机数,随机数使用公钥进行加密...(RSA加密); 三.消息体产生后,对它摘要进行MD5(或者SHA1)算法加密,此时就得到了RSA签名; 四.发送给服务端,此时只有服务端(RSA私钥)能解密。...五.解密得到随机数,再用AES加密,作为密钥(此时密钥只有客户端和服务端知道)。...六.秘钥协商过程是非对称加密,之后通讯过程是使用此秘钥对称加密, 非对称加密算法性能是非常低,一般HTTPS连接只在第一次握手时使用非对称加密,通过握手交换对称加密密钥,在之后通信走对称加密

    58130

    SpringMvc工作原理

    SpringMVC处理请求流程     2.1 工作原理:   2.2 请求流程(详解《SpringMVC工作原理图》) 3. SpringMVC核心开发步骤 4. SpringMVC组件 5....请求处理方法参数及返回值   7.1请求处理方法参数   7.2返回值类型 8....SpringMVC处理请求流程 2.1 工作原理:   1. 首先用户发送请求-->DispatherServlet   2....返回控制权给DispatcherServlet,由DispatcherServlet返回呼应给用户,流程结束 2.2 请求流程(详解《SpringMVC工作原理图》) 以下是对于SpringMvc流程图文字解说...  3.3 HandlerAdapter配置,从而支持多种类型处理器   3.4 处理器(页面控制器)配置,从而刊行功能处理   3.5 ViewResolver配置,从而将逻辑视图名解析为具体视图技术

    1.1K10

    listview工作原理

    那么我们先来对这几个方法进行简单解读,这对后面分析ListView工作原理将会有很大帮助。...了解了RecycleBin中主要方法以及它们用处之后,下面就可以开始来分析ListView工作原理了,这里我将还是按照以前分析源码方式来进行,即跟着主线执行流程来逐步阅读并点到即止,不然的话要是把...那么obtainView()内部到底是怎么工作呢?...那么我们先来对这几个方法进行简单解读,这对后面分析ListView工作原理将会有很大帮助。...了解了RecycleBin中主要方法以及它们用处之后,下面就可以开始来分析ListView工作原理了,这里我将还是按照以前分析源码方式来进行,即跟着主线执行流程来逐步阅读并点到即止,不然的话要是把

    2.4K100

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券