关于websocket和socket

1、Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。

2、WebSocket 是 HTML5 一种新的协议,主要为了解决 HTTP 协议无法解决长链接的所打的一个大补丁。

Http连接:http连接就是所谓的短连接,及客户端向服务器发送一次请求,服务器端相应后连接即会断掉。

socket连接:socket连接就是我们所谓的长连接,理论上客户端和服务端一旦建立连接,则不会主动断掉。

HTTP协议是非持久化的,单向的网络协议,在建立连接后只允许浏览器向服务器发出请求后,服务器才能返回相应的数据。WebSocket 通过第一个 HTTP request 建立了 TCP 连接(三次握手)之后,之后的交换数据都不需要再发 HTTP request了。


WebSocket与HTTP的关系

相同点

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

2. 都是应用层协议。

不同点

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

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

联系

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



WebSocket与Socket的关系

Socket是TCP/IP/UDP抽象出来的API接口,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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图 IP: 网络层协议...
    chdliangwei阅读 5,121评论 0 0
  • Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连...
    侯广丽阅读 9,852评论 0 1
  • HTML5 WebSocket 作为新一代的web标准,HTML5为我们提供了很多有用的东西,比如canvas,本...
    Srtian阅读 12,162评论 0 9
  • WebSocket介绍与原理: WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服...
    流光汐舞阅读 3,480评论 0 0
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 127,886评论 2 7

友情链接更多精彩内容