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协议允许服务器主动推送数据给客户端,实现实时的双向通信。
全部评论

相关推荐

10-28 20:53
已编辑
山东青客网络_CEO
比如:简历里有一句 “使用持久化存储去解决首屏加载和用户体验问题。”【描述背景】在xxxx这个项目里,业务希望首屏加载更快,我去做了一个让首屏加载更快的方案。【描述行动】接到这个任务以后我在网上进行调研,一开始接到了集中方法,第一种是使用服务端渲染第二种使用骨架图的方案第一种服务端渲染需要服务端来跟进支持,还需要用到特殊的技术方案(这里要准备好调研的技术方案,面试官问的时候别傻了),目前这个优化只分配了前端进行改造,所以没有使用。第二种方案使用骨架图可以让页面先显示框架,再慢慢渲染实际内容,这样虽然用户感受会好一些,但是治标不治本,渲染总时长和以前是一样的。经过我的调研,我们项目首屏加载速度慢的只要原因是两个,一是JS解析执行的时间,二是React(vue)渲染的时间,然后我们的项目首页的数据不需要非常的实时精确的更新,所以我想到一个方案。【提出解决方案】每次渲染完首页后,我将首页所有的HTML代码存储到LocalStorage中,当页面进来的时候,我首先从LocalStorage中获取HTML代码数据先贴到HTML中,让用户可以先看到首页的内容和行动点,这样解决用户第一次进来速度慢的问题。【提出遇到的问题】解决这个问题需要考虑几个点:第一是读取LocalStorage插入HTML的这个代码要在所有代码之前运行第二是确保LocalStorage的存储内容的大小不能超过浏览器的限制第三是要确保HTML加载进来的时候样式也要存在【给出解决方案】我们使用的框架是UMI,使用umi的配置中的 scripts 参数,添加额外的JS代码,来解决第一个问题。(不同脚手架方法不一样)我们只将首屏最核心的xxxxx部分进行了代码存储,这部分的代码结构我们进行了精简,确保在100k以内。我们把这部分代码的css写成了行内样式,确保这些样式正确渲染。如果大家想要用以上内容作为简历和面试内容,我建议大家自己实践一下,做一遍这样的功能。你会发现更多值得一提的点。
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务