首页 > 其他分享 >HTML5 WebSocket 详解及使用

HTML5 WebSocket 详解及使用

时间:2024-08-06 14:51:40浏览次数:15  
标签:协议 HTTP 双向通信 详解 HTML5 服务器 WebSocket 客户端

1.WebSocket 是什么?

  WebSocket 是 HTML5 提供的一种在单个 TCP 连接上进行全双工通讯的协议。(双向通信协议)

2.WebSocket 的作用?

  实现客户端与服务器之间的双向通信,允许服务端主动向客户端推送数据。

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

3.WebSocket 和 HTTP 区别?

相同点:

  1. WebSocket 都是一样基于 TCP 的可靠性传输协议;

异同点:

1. WebSocket 可以双向发送或接受信息,而 HTTP 是单向的(HTTP 通信只能由客户端发起,不具备服务器主动推送能力);

2. WebSocket 的使用,需要先进行一次 客户端与服务器的握手,两者建立连接后才可以正常双向通信,而 HTTP 是一个 主动的 Request 对应一个 被动的Response;

4.WebSocket 的协议标识符?

如果服务器网址是 HTTP 那么 WebSocket 对应的是 ws

如果服务器网址是 HTTPS 加密的 那么 WebSocket 对应的是 wss

5.WebSocket 的作用总结?

WebSocket 是为了能够实现在 web 应用上与服务器进行双向通信的需求 而产生出来的协议,

相比于轮询 HTTP 请求的方式,WebSocket 节省了服务器资源,有效的提高了效率。

6.HTML5 WebSocket的使用方式描述

  通过JavaScript中的WebSocket对象来创建WebSocket连接,并通过send()方法向服务器发送数据,通过onmessage()方法接收服务器返回的数据。

  目前,WebSocket协议已经广泛应用于实时聊天、在线游戏、语音视频聊天、股票行情等领域。

7.WebSocket协议的特点

1、支持双向通信:WebSocket协议允许客户端和服务器之间实时、双向的通信,无需像HTTP协议那样需要发送请求来获取数据。
2、更少的网络开销:WebSocket协议使用更少的网络开销,能够实现较小的数据包传输和更低的延迟。
3、长连接:WebSocket协议使用长连接,不需要频繁地建立和关闭连接,减少了传输数据的延迟时间。
4、跨域访问:WebSocket协议支持跨域访问,允许浏览器和服务器之间跨域实现实时通信。
5、WebSocket 是一个独立的协议,不同于 HTTP,但是在使用时可以通过 HTTP 来建立连接;6、WebSocket 的协议标识符是 "ws" 或 "wss",分别对应于普通的 WebSocket 和基于 SSL 的 WebSocket;
7、WebSocket 支持带有握手的协议,类似于 HTTP/1.1 的 Upgrade 和 Connection 头;
8、WebSocket 是一个双向数据传输的协议,也就是说服务器和客户端都可以主动发送数据;9、9、WebSocket 使用的是 TCP 协议,在传输层上可靠性较高。

 

标签:协议,HTTP,双向通信,详解,HTML5,服务器,WebSocket,客户端
From: https://www.cnblogs.com/meiyanstar/p/18345121

相关文章

  • 【微信小程序实战教程】之微信小程序核心组件详解
    微信小程序核心组件组件化开发并不是小程序所特有的,一些其他编程语言中都有组件化的概念,准确来讲,只有UI视图层的展示,就必定要用到组件化。组件是UI视图层的最基本组成单元,组件中包含了一些基础功能和基础样式,一个组件就类似于一个自定义的标签。小程序框架为开发者提供了......
  • uniapp中的websocket的研究,以及相关的封装
    官方文档---官方文档写的跟屎一样https://uniapp.dcloud.net.cn/api/request/websocket.html相关博客https://www.cnblogs.com/sunnyeve/p/16757633.html还是这个博客清晰https://blog.csdn.net/lyandgh/article/details/100642941......
  • Mojo和Python中的类型详解
    调用Python方法时,Mojo需要在原生Python对象和原生Mojo对象之间来回转换。大多数转换都是自动进行的,但也有一些情况Mojo尚未处理。在这些情况下,您可能需要进行显式转换,或调用额外的方法。Python中的Mojo类型Mojo基本类型隐式转换为Python对象。目前支持的......
  • xpath详解
    什么是Xpath?Xpath是一种用在XML文档中定位元素的语言,同样也支持HTML元素的解析。所谓Xpath,是指XMLpathlanguage。path就是路径,那么Xpath主要是通过路径来查找元素。我们通过下面一张小图来了解一下HTML中的结构:HTML的结构就是树形结构,HTML是根节点,所有的......
  • IEC104初学者教程,第八章:总召唤流程详解
    第八章:总召唤流程详解平时学习规约或调试IEC104或IEC101设备,需要IEC104/101模拟器,推荐一款:主站下载地址:IEC104主站模拟器从站下载地址:IEC104从站模拟器IEC60870-5-104(简称IEC104)是一种用于远程控制和监控系统的通信协议。它广泛应用于电力系统和其他工业自动化系统中。总召......
  • IEC104初学者教程,第九章:计数量召唤流程详解
    第九章:计数量召唤流程详解平时学习规约或调试IEC104或IEC101设备,需要IEC104/101模拟器,推荐一款:主站下载地址:IEC104主站模拟器从站下载地址:IEC104从站模拟器在IEC60870-5-104(简称IEC104)协议中,计数量召唤(CounterInterrogation,简称CI)是一种特定的功能,用于获取远程终端设备(RTU......
  • Tomcat 使用和配置文件(详解)
    一.tomcat介绍1.tomcat概述自从JSP发布之后,推出了各式各样的JSP引擎。ApacheGroup在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet,这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其......
  • Tomcat高可用集群(实例详解)
    一.环境准备虚拟机的版本:VMware-workstation-full-15.5.6-16341506.exe系统镜像版本:CentOS-6.10-x86_64-bin-DVD1.iso,全新安装,桌面版,可上网系统内存大小:1GB系统硬盘大小:20GB连接工具版本:SecureCRTSecureFX_HH_x64_7.0.0.326.zip二.集群概述由于单台Tomcat的承载能力是有限的......
  • linux运维一天一个shell命令之tcpdump详解
    一、tcpdump的概念tcpdump是一个数据包捕获工具,能够拦截和显示通过网络接口的数据包。它可以实时捕获数据包,也可以将捕获的数据保存到文件中以便后续分析。tcpdump支持基于多种条件(如IP地址、端口号、协议等)来捕获特定的数据包。二、主要功能和特点1.数据包捕获:tcp......
  • 仓颉编程语言入门 -- Array数组详解
    仓颉编程语言入门–Array数组详解一.如何创建Array数组我们可以使用Array类型来构造单一元素类型,有序序列的数据。1.仓颉使用Array来表示Array类型。T表示Array的元素类型,T可以是任意类型,类似于泛型的概念vararr:Array<String>=["你好","仓颉"]va......