文档章节

websocke和http的区别

o
 osc_x4h57ch8
发布于 2018/04/24 11:21
字数 585
阅读 21
收藏 0

精选30+云产品,助力企业轻松上云!>>>

:建立在TCP之上,同http一样通过TCP来传输数据

 

不同

HTTP协议为单向协议,即浏览器只能向服务器请求资源,服务器才能将数据传送给浏览器,而服务器不能主动向浏览器传递数据。分为长连接和短连接,短连接是每次http请求时都需要三次握手才能发送自己的请求,每个request对应一个response;长连接是短时间内保持连接,保持TCP不断开,指的是TCP连接。

 

WebSocket解决客户端发起多个http请求到服务器资源浏览器必须要经过长时间的轮询问题。

一种双向通信协议,在建立连接后,WebSocket服务器和Browser/UA都能主动的向对方发送或接收数据,就像Socket一样,不同的是WebSocket是一种建立在Web基础上的一种简单模拟Socket的协议;     

WebSocket需要通过握手连接,类似于TCP它也需要客户端和服务器端进行握手连接,连接成功后才能相互通信。

WebSocket在建立握手连接时,数据是通过http协议传输的,“GET/chat HTTP/1.1”,这里面用到的只是http协议一些简单的字段。但是在建立连接之后,真正的数据传输阶段是不需要http协议参与的。

TCP/IP协议(用来传输数据)

 

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

四层,分别为应用层(Telnet、FTP和Email等)、运输层(TCP、UDP)、网络层(IP、ICMP、IGMP等)和链路层(设备驱动程序)

三次握手完毕后,客户端与服务器才正式开始传送数据

四次挥手后断开连接

套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认

TCP:面向连接,通过三次握手建立连接,通讯完成时要拆除连接,只能端到端传输

UDP:无连接,可实现广播发送

 

TCP/IP通信数据流

下面是我们访问一个网页,各种协议在里面起的作用。

以上图例来自《图解HTTP》

上一篇: Linux:spool命令
下一篇: ubantu 安装 redis
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
实时日志查看

参考: http://www.ttlsa.com/python/monitor-log-realtime-python-websocket/   http://www.cnblogs.com/xiaoyou2018/archive/2018/07/18/9328950.html   https://blog.csdn.net/devilcr......

osc_f71x2pl6
2018/08/31
2
0
nginx websocket

通过nginx实现的负载均衡,在建立websocket的时候出现链接失败的问题,经分析和研究发现是因为在建立的websocke链接的时候实现端口转发没有配置相关的流信息,新增如下配置 location / { rew...

osc_sfkqtwox
2018/09/05
6
0
NetCore WebSocket 即时通讯示例

1.新建Netcore Web项目 2.创建简易通讯协议 public class MsgTemplate SenderID发送者ID ReceiverID 接受者ID MessageType 消息类型 Text Voice 等等 Content 消息内容 3.添加中间件ChatWeb...

迷惘却坚定
2017/06/18
0
0
websocke和socket技术调查结果(浅)

一、websocket和socket的关系: 1、socket不是一种协议,它是应用层和TCP协议簇通信的中间的抽象层,它是一组接口;websocket是对socket应用性封装,websocket的内部数据通信还是使用socket,...

osc_l745c1nv
2018/04/01
17
0
webTRC实现视频会议的问题

各位大佬们,本人在基于webRTC + websocke实现视频聊天会议室遇到一个问题,就是实现本地视频的回调显示,在一对一或者多人视频的时候,只要有两人或两人以上者开启视频,就会出现websocke断...

ProMonkeys
2018/07/05
551
1

没有更多内容

加载失败,请刷新页面

加载更多

MongoDB入门系列——3.可视化工具篇

点击上方,轻松关注!! 前面我们已经介绍了MongoDB怎么安装,接下来要安装他的可视化工具——Studio 3T。 先到这下载一个压缩包,百度网盘,https://pan.baidu.com/s/1M8mlWo334KE8I1_UA2Da...

学习Java的小姐姐
2018/11/08
0
0
分层图的绘制 python(来自国外课程)

Exercise 10: Hierarchical clustering of the grain data In the video, you learnt that the SciPy linkage() function performs hierarchical clustering on an array of samples. Use th......

齐勇cn
28分钟前
13
0
微信小程序超简单的双向绑定(类似vue的v-model)

<input model:value="{{value}}" />

祖达
28分钟前
9
0
为什么AngularJS在select中包含一个空选项? - Why does AngularJS include an empty option in select?

问题: I've been working with AngularJS for the last few weeks, and the one thing which is really bothering me is that even after trying all permutations or the configuration de......

技术盛宴
31分钟前
13
0
centos宝塔面板安装及常见错误处理(超级详细)

原文连接:https://www.wjcms.net/archives/centos%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF%E5%AE%89%E8%A3%85%E5%8F%8A%E5%B8%B8%E8%A7%81%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86%E8%B6%85%E7%......

神兵小将
53分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部