当前位置: 首页 > article >正文

WebSocket与HTTP联系及Socket的区别

WebSocket:

介绍:WebSocket 协议是HTML5 的一种新协议,可实现浏览器/移动端和服务器建立全双工通信。

原理:WebSocket同HTTP一样也是应用层的协议,但是它是一种双向通信协议,是建立在TCP之上的。

目的:即时通讯,替换轮询。比如网页的QQ,聊天系统等。按照以往的技术能力通常是采用轮询、Comet技术解决。

WebSocket与HTTP的关系:

相同点:

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

2. 都是应用层协议。

不同点:

1. WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息。HTTP是单向的。

2. WebSocket是需要握手进行建立连接的。

WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。

WebSocket与Socket的关系

Socket其实并不是一个协议,而是为了方便使用TCP或UDP而抽象出来的一层,是位于应用层和传输控制层之间的一组接口。

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

当两台主机通信时,必须通过Socket连接,Socket则利用TCP/IP协议建立TCP连接。TCP连接则更依靠于底层的IP协议,IP协议的连接则依赖于链路层等更低层次。

WebSocket则是一个典型的应用层协议。

区别

Socket是传输控制层协议,WebSocket是应用层协议。

HTML5与WebSocket的关系

WebSocket API 是 HTML5 标准的一部分, 但这并不代表 WebSocket 一定要用在 HTML 中,或者只能在基于浏览器的应用程序中使用。

实际上,许多语言、框架和服务器都提供了 WebSocket 支持,例如:

* 基于 C 的 libwebsocket.org

* 基于 Node.js 的 Socket.io

* 基于 Python 的 ws4py

* 基于 C++ 的 WebSocket++

* Apache 对 WebSocket 的支持: Apache Module mod_proxy_wstunnel

* Nginx 对 WebSockets 的支持: NGINX as a WebSockets Proxy 、 NGINX Announces Support for WebSocket Protocol 、WebSocket proxying

* lighttpd 对 WebSocket 的支持:mod_websocket

应用:

1.ios 端应用Socket 可以使用OC自带的AsynSocket,或者三方的socket框架。

2.ios 端应用Socket 可以使用facebook的SocketRocket


http://www.kler.cn/a/7980.html

相关文章:

  • Bugku CTF_Web——点login咋没反应
  • MFC工控项目实例二十九主对话框调用子对话框设定参数值
  • Vue 项目打包后环境变量丢失问题(清除缓存),区分.env和.env.*文件
  • Spring框架之观察者模式 (Observer Pattern)
  • AI 写作(五)核心技术之文本摘要:分类与应用(5/10)
  • Linux kernel 堆溢出利用方法(二)
  • VisualStudio如何进行OneNote插件开发?
  • 全文检索工具 Lucene 入门
  • 响应式布局是什么?如何实现响应式布局
  • 逻辑删除和唯一约束冲突的解决方案
  • springcloud:xxl-job的任务触发机制及调度过期策略
  • IT知识百科:什么是BGP?
  • ubuntu20.04 下载 linux源码和编译简单测试模块
  • Python 变量教程打包和解包参数
  • NHibernate教程_编程入门自学教程_菜鸟教程-免费教程分享
  • Linux系统【centos7】常用系统命令大全
  • 剪枝与重参第二课:修剪方法和稀疏训练
  • webpack5搭建react框架-开发环境配置
  • 【Linux】文件系统
  • C++_07----强制类型转换异常
  • ORACLE EBS 系统主数据管理(2)
  • 《论文阅读》Unified Named Entity Recognition as Word-Word Relation Classification
  • 论文阅读_MAE
  • 快速分析一个行业,这个工具必不可少
  • Nuxt3中的常用seo标签
  • HuggingGPT:一个ChatGPT控制所有AI模型,自动帮人完成AI任务