websocket 发送ping_简单聊聊 WebSocket

本文深入探讨WebSocket协议,解释其产生的背景,旨在解决HTTP协议下的双通道通信问题。详细分析了WebSocket的基础帧结构,强调掩码的重要性和作用,并通过实例展示了WebSocket的抓包分析,揭示了WebSocket握手的关键字段及其意义。最后总结了WebSocket的优缺点和掩码策略。
摘要由CSDN通过智能技术生成

(给前端大学加星标,提升前端技能.)

作者:木木匠

https://juejin.im/post/5c693a4f51882561fb1db0ff

概述

上一篇文章《浅析一次HTTP请求 https://juejin.im/post/5c3b21e4e51d455231347349 》我们分析了简单的一次 HTTP 请求具体是怎么样完成的,分析了 HTTP 协议的数据结构,如何连接,如何断开,又是如何多路复用的,那么今天我们来聊聊另外一个协议,WebSocket。由于 WebSocket 的协议的内容非常多,本文只会取其冰山一角进行简单阐述,不会铺开详细说。

二、什么是 WebSocket

2.1 WebSocket 产生的背景

在 WebSocket 协议出现以前,创建一个和服务端进双通道通信的 web 应用,需要依赖HTTP协议,进行不停的轮询,这会导致一些问题:

  • 服务端被迫维持来自每个客户端的大量不同的连接

  • 大量的轮询请求会造成高开销,比如会带上多余的header,造成了无用的数据传输。

所以,为了解决这些问题,WebSocket 协议应运而生。

2.2 WebSocket 的定义

WebSocket 是一种在单个TCP连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。

在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接, 并进行双向数据传输。(维基百科)

三、WebSocket 的基础帧结构分析

下图是我参考 RFC6455 5.2章节画的websocket 基础帧的数据结构图,接下里我们重点解析下数据结构图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值