WebSocket

WebSocket协议是一种基于TCP的协议,用于实现客户端和服务器之间的全双工通信。 它提供了一种在单个TCP连接上进行长期交互的方式,使得服务器可以主动向客户端推送数据。

相比之下,HTTP协议是一种无状态的请求-响应协议,通常用于客户端向服务器发送请求并接收响应。 HTTP协议是基于请求-响应模式的,意味着每次客户端想要获取新的数据时,都需要通过新的HTTP请求来获取。

以下是WebSocket协议与HTTP协议的不同之处:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=43521d43a8e341f888324dd690363024

连接方式:HTTP协议是短连接,即每次请求都需要建立和关闭连接。而WebSocket协议是长连接,在连接建立后,可以持续保持通信状态。

数据传输效率:HTTP协议每次请求只能传输有限的数据,而且每次传输都需要携带请求头等信息,导致额外的开销。WebSocket协议可以在保持连接状态的情况下,实现全双工通信,避免了频繁建立和关闭连接的开销,并且可以传输较大量级的数据。

通信方式:HTTP协议采用的是请求-响应模式,客户端发送请求后,服务器返回响应。而WebSocket协议允许服务器主动推送数据给客户端,实现实时的双向通信。
全部评论

相关推荐

04-15 12:20
门头沟学院 Java
点赞 评论 收藏
分享
懂车帝 客户端一面 顺序是乱的,录音没录上,较长的问题忘记了一些感觉自己就是这个猴子整体感受:对于这次面试的感受,面试官挺好的,但本人太菜了,仍需沉淀,对于八股应该要多深挖一下技术问题1.对于客户端有什么了解吗?如果不了解就不倾向聊,就聊后端了解过android hybrid flutter 嘛2.http和https的区别3.加密算法有什么了解的吗,具体讲一下这边拷打线程进程是真难受啊,有几个场景忘记了3.线程之间怎么交互4.进程和该进程下的线程怎么交互,如何进行数据交互5.你了解过什么设计模式6单例模式介绍7.单例模式是否线程安全8.单例模式用来干什么9.责任链模式不考虑业务,a b c d e顺序是否能改变10.责任链中插入一个f,怎么操作?只需要修改指针吗?11.模版方法模式是干什么的12.线程池怎么用的?你用来干什么?13.线程池怎么实现动态扩容,比如说此时有几个线程数量,突然来了了几十个任务,你怎么扩容14.线程安全的工具具体讲一下15.String StringBuilder StringBuffer的区别讲一下16.StringBuffer内部的实现?忘记了具体问题,只记得这个问题深挖底层源码,大脑宕机,拷打的我浑身难受17.具体说一下接口和抽象类的区别18.接口中只能定义抽象方法吗?19.抽象类的作用是什么20.接口的你主要用来干什么?21.继续让说接口和抽象类的区别,把八股背出来,想不出来别的了22.后续又拷打了一会接口和抽象类,具体问题忘了23.token cookie session具体讲一下24.对这三个又拷打了一下底层,应用场景,问题太长了,忘记了25.hashtable和hashmap怎么实现的,讲一下底层26.怎么将hashmap转换为线程安全的27.concurrenthashmap的底层算法题29.算法题 将字符串中的单词进行反转 acm模式30.算法题遍历可以解决,有什么优化的方法吗?31.反问了学习建议和客户端的业务 面试总结:计算机基础,Java基础,设计模式后续:一面挂
点赞 评论 收藏
分享
评论
3
3
分享

创作者周榜

更多
牛客网
牛客企业服务