精华内容
下载资源
问答
  • websocket和http

    2021-05-02 16:29:35
    websocket和http两者区别: 1、websocket支持全双工通信,实时性更强,http是单向通信 2、更好的二进制支持。 3、较少的控制开销:连接创建后,WebSockete客户端、服务端进行数据交换时,协议控制的数据包头部较...

    WebSocket是HTML5下一种新的协议。它实现了浏览器与服务器全双工通信,能实现实时通讯。

    websocket和http两者区别:

    1、websocket支持全双工通信,实时性更强http是单向通信

    2、更好的二进制支持。

    3、较少的控制开销:连接创建后,WebSockete客户端、服务端进行数据交换时,协议控制的数据包头部较小。

    4、支持扩展。

    注:什么是单工、半双工、全工通信?

    1、信息只能单向传送为单工;

    2、信息能双向传送但不能同时双向传送称为半双工;

    3、信息能够同时双向传送则称为全双工。

    Websocket通信:

    connection建立成功之后,客户端与服务器的通讯完全是自由的,客户端可以主动发送消息,同理服务端也可以主动进行消息推送。

    而http请求只能一个request对应一个response,所以服务端不能做到真正意义上的主动发送消息。

    而且websocket连接建立起后只需要通过数据帧来进行传输,帧的头部信息远比http的head小多了,会节省大量的带宽。更适合做长时间的数据传输。

    缺点:需要一直维持连接,服务器的端口资源消耗较大。

     

    WebSocket与HTTP的联系:

    WebSocket也是基于TCP,都是可靠的协议。

    WebSocket和Http协议一样都属于应用层协议,WebSocket在建立握手连接时,数据是通过http协议传输的,但是在建立连接之后,真正的数据传输阶段是不需要http协议参与的,即websocket握手部分有用到http部分的

     

     

    展开全文
  • WebSocket和HTTP

    2019-06-24 16:21:58
    1,WebSocket和HTTP都是基于TCP协议的两个不同的协议 2,WebSocket依赖于HTTP协议       实际上,WebSocket为H5出现,它是HTTP协议的扩展,与HTTP协议相比,可以实现客户端和服务器的长...

    首先,最重要的两点:
    1,WebSocket和HTTP都是基于TCP协议的两个不同的协议
    2,WebSocket依赖于HTTP协议
          实际上,WebSocket为H5出现,它是HTTP协议的扩展,与HTTP协议相比,可以实现客户端和服务器的长连接,而且支持双向通信
          既然,WebSocket依赖于HTTP连接,那么它如何从连接的HTPP协议转化为WebSocket协议?
          其实,WebSocket协议在第一次握手连接时,是通过HTTP协议传送给服务端WebSocket支持的版本号、协议的字版本号、原始地址、主机地址等一些列字段

    GET/chat HTTP/1.1
    Host:server.demo.com
    Upgrade:websocket
    Connection:Upgrade
    Sec-WebSocket-Key:dGHllHNhbXBsZSBub25jZQ==
    Origin:http://test.com
    Sec-WebSocket-Version:13
    

          上面报文最关键的地方,就是有个Upgrade首部,这个就是用来把当前的HTTP请求升级到WebSocket协议,这个是属于HTTP协议本身的内容,是为了扩展支持其他的通讯协议。倘若服务器支持新的协议,则必须返回101:

    HTTP/1.1 101 Switching Protocols
    Upgrade:websocket
    Connection:Upgrade
    Sec-WebSocket-Accept:s3pOLMBiTvaxqcQ9CDzRns+xAS=
    

    如果请求成功,就触发onopen事件,否则触发onerror事件,此后的传输就不再依赖HTTP协议

    展开全文
  • Webbit是一个基于Java事件的WebSocket和HTTP服务器。 标签:Webbit
  • 基本上但凡提到WebSocket和HTTP的关系都会有以下两条 WebSocket和HTTP都是基于TCP协议的两个不同的协议 WebSocket依赖于HTTP连接 作为结论性的总结,直接了当,但是我需要更多的实现细节来解释上述结论。因为都是...

    前言

    基本上但凡提到WebSocket和HTTP的关系都会有以下两条

    1. WebSocket和HTTP都是基于TCP协议的两个不同的协议
    2. WebSocket依赖于HTTP连接

    作为结论性的总结,直接了当,但是我需要更多的实现细节来解释上述结论。因为都是基于TCP的两个独立的协议,WebSocket按理说可以和HTTP没有关系,所以这里面包含两个问题:

    1. WebSocket依赖于HTTP连接,那么它如何从连接的HTTP协议转化为WebSocket协议?
    2. WebSocket为什么要依赖于HTTP协议的连接?

    带着结论看问题

    问题一

    每个WebSocket连接都始于一个HTTP请求。具体来说,WebSocket协议在第一次握手连接时,通过HTTP协议在传送WebSocket支持的版本号,协议的字版本号,原始地址,主机地址等等一些列字段给服务器端:

    GET /chat HTTP/1.1
    Host: server.example.com
    Upgrade: websocket
    Connection: Upgrade
    Sec-WebSocket-Key:dGhlIHNhbXBsZSBub25jZQ==
    Origin: http://example.com
    Sec-WebSocket-Version: 13

    注意,关键的地方是,这里面有个Upgrade首部,用来把当前的HTTP请求升级到WebSocket协议,这是HTTP协议本身的内容,是为了扩展支持其他的通讯协议。如果服务器支持新的协议,则必须返回101: 

    HTTP/1.1101 Switching Protocols
    Upgrade: websocket
    Connection: Upgrade
    Sec-WebSocket-Accept:s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

    至此,HTTP请求物尽其用,如果成功触发onopen事件,否则触发onerror事件,后面的传输则不再依赖HTTP协议。总结一下,这张图比较贴切:

    问题二 

    WebSocket设计上就是天生为HTTP增强通信(全双工通信等),所以在HTTP协议连接的基础上是很自然的事,并因此而能获得HTTP的诸多便利。这诸多便利中有一条很重要,基于HTTP连接将获得最大的一个兼容支持,比如即使服务器不支持WebSocket也能建立HTTP通信,只不过返回的是onerror而已,这显然比服务器无响应要好的多。

    展开全文
  • WebSocket和Http的关系

    2020-03-31 23:24:58
    WebSocket和Http一样,都是一种应用层上的协议。它是HTML5中新加入的协议,是HTML5标准的一部分。WebSocket协议的产生主要是为了“即时通讯、替代轮询”,因为WebSocket协议提供了通过一个套接字实现全双工通信的...

    Http是我们都熟悉的,它是一种协议,基于TCP之上,用于网络通信的应用层上的协议。同时它也是一种短连接(非持久化的),单向的(服务端无法主动给客户端发送数据)网络协议。

    一、为什么需要WebSocket协议

    Http在即时通信上有缺点很明显,因为它是单向的,如果要实现即时通信,需要利用“轮询”(每隔一定时间,如1秒,就由客户端发送一个Request请求用于获取新数据,从而更新状态),这样的话会导致资源浪费,因为Http的Header都比较长,为了更新数据状态,发送一个空请求,都是需要占用很多带宽的。

    因此,就有了WebSocket协议的出现了,它是HTML5中新增的协议,是HTML5标准的其中一部分。

    WebSocket协议的出现使得浏览器提供对Socket的支持成为可能,从而在浏览器和服务器之间提供了一个基于TCP连接的双向通道。

    二、WebSokcet和Http的区别在哪

    WebSocket和Http的异同点主要有下面几点:
    相同点:
    1、都是基于TCP协议的,都是可靠性的传输协议。
    2、都是应用层上的协议。
    不同点:
    1、WebSocket是一种双向通信协议(Http是单向的),模拟Socket协议,在建立连接后,WebSocket可以使服务器与客户端(Browser/Client)两者都能主动向对方发送和接收数据,就是Socket一样。
    2、WebSocket需要类似TCP的握手方式才能建立起连接,连接成功后才能正常相互通信。(其实,Http请求的最开头,也是需要三次握手的,因为它是基于TCP的)
    3、WebSocket建立连接后,是类似Socket(TCP)的长连接,服务端与客户端可以随时通信。(Http是请求-应答模式的短连接,一次通信后连接就会断开)

    三、WebSocket和Socket的关系

    那么这个WebSocket协议和我们以前知道的Socket又有什么关系呢?
    上面有说过,WebSocket协议是模拟的Socket。
    其实,Socket并不是一种协议,它只是传输层(网络七层协议中的第四层,包括TCP协议和UDP协议)的一个封装,所以严格来说,Socketk只是接口,方便我们使用TCP、UDP协议的。
    所以,WebSocket与Socket的主要区别在于,Socket是传输层协议的封装接口,而WebSocket是应用层协议。
    另外,WebSocket是连接(握手连接),需要依赖Http协议。

    四、WebSocket和Http交互的区别

    1、传统 HTTP 请求响应客户端服务器交互图
    在这里插入图片描述
    2、WebSocket 请求响应客户端服务器交互图
    在这里插入图片描述

    展开全文
  • Websocket和http的区别

    2020-06-02 11:06:33
    Websocket Websocket协议解决了服务器与客户端全双工通信的问题。...WebSocket和HTTP 区别 1.HTTP 协议有一个缺陷:通信只能由客户端发起,做不到服务器主动向客户端推送信息。 2.WebSocket的最大特点就是,
  • 1、首先Websocket和http都是应用层协议,网络协议分层结构如下所示: 2、WebSocket和HTTP都是基于TCP协议的两个不同的协议,其中WebSocket依赖于HTTP连接。 QA: a、WebSocket依赖于HTTP连接,那么它如何从连接的...
  • WebSocket 和HTTP的区别

    2019-09-01 09:52:01
    WebSocket 和HTTP的有什么区别呢? http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息。即每一个request对应一个response。长链接是在一定的期限内保持链接。保持TCP连接不断开。客户端...
  • 有时候还会有老铁在考虑在什么样的环境下使用WebSocket,什么样的环境下使用HTTP,今天我们来说下WebSocket和HTTPWebSocket和HTTP的区别 http协议是用在应用层的协议,他是基于tcp协议的,http协议建立...
  • WebSocket和HTTP都是基于TCP协议的两个不同的协议,其中WebSocket依赖于HTTP连接。 问题一:WebSocket依赖于HTTP连接,那么它如何从连接的HTTP协议转化为WebSocket协议? 答: 每个WebSocket连接都始于一个HTTP请求...
  • 作者:Ovear ...来源:知乎 著作权归作者所有。...今天看到websocket和http的差别,这篇文章讲的很不错 一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不...
  • 这个列子主要讨论Tcp,WebSocket和http之间的通讯。长连接和长连接通讯,长连接和短连接通讯。其他协议同理可得Tcp: 代表硬件设备 WebSocket: 代表客户端 http: 代表网页本列子是基于one框架 ...
  • [Python] 纯文本查看 复制代码'''Bottle服务,绑定websocket和http服务'''class MyBottleServer(Bottle):def __init__(self, ip="127.0.0.1", port=8737):Bottle.__init__(self)self.ip = ipself.port = portdef __...
  • WebSocket是一个计算机通讯协议,在单个TCP连接上提供全双工的...WebSocket和HTTP的关系是,WebSocket的握手被翻译成HTTP的升级请求。WebSocket协议可以降低Web服务器和浏览器之间的开销,这个特性适合实时数据的...
  • websocket和http的区别:1、WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息,而HTTP是单向的;2、WebSocket是需要浏览器和服务器握手进行建立连接的,而http是浏览器发起向服务器的连接。本文...
  • [html] websocket和http2有什么区别?http2能取代websocket吗?为什么? 按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP是应用层的协议。在这三者之间,SPDY和WebSocket都是与HTTP相关的协议,而TCP...
  • 有时候还会有老铁在考虑在什么样的环境下使用WebSocket,什么样的环境下使用HTTP,今天我们来说下WebSocket和HTTPWebSocket和HTTP的区别http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要...
  • websocket和http协议的共同点和不同点? 相同点:都建立在TCP,通过TCP协议传输数据;都是应用层协议 不同点: 通信方式: ​ HTTP单向传输,浏览器只有向服务器请求资源后,服务器才能传数据; ​ websocket是双向...
  • [html] websocket和http有什么区别? WebSocket是双向的,在客户端-服务器通信的场景中使用的全双工协议,与HTTP不同,它以ws://或wss://开头。 HTTP是单向的,客户端发送请求,服务器发送响应。 个人简介 我是歌谣...
  • WebSocket是HTML5中新协议、新API.Http协议本身只有1.01.1,也就是所谓的Keep-alive,把多个Http请求合并为一个。二、WebSocket是什么样的协议,具体有什么优点。首先,相对于Http这种非持久的协议来说,WebS
  • 摘要:对比WebSocket和HTTP/2。 原文:《JavaScript是如何工作: 深入探索 websocket 和HTTP/2与SSE +如何选择正确的路径! 作者:前端小智 Fundebug经授权转载,版权归原作者所有。 文章底部分享给大家一套 react...
  • 介绍:WebSocket 协议是HTML5 的一种新协议,可实现浏览器/移动端服务器建立全双工通信。 原理:WebSocketHTTP一样也是应用层的协议,但是它是一种双向通信协议,是建立在TCP之上的。 目的:即时通讯,替换...
  • WebSocket HTTP 的区别

    2019-09-26 20:52:49
     在 websocket 出现之前,为了实现 web 端的实时通信,通常采用的是 Ajax 轮询技术,(轮询是在特定的时间间隔内,由浏览器向服务器发送 HTTP 请求,再由服务器返回最新的数据),这种方式有一个很明显的缺点就是:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,239
精华内容 2,095
关键字:

websocket和http