xiaolincoder / xiaolincoding_comment

7 stars 0 forks source link

[Vssue]3.9 既然有 HTTP 协议,为什么还要有 WebSocket? | 小林coding #158

Open xiaolincoder opened 2 years ago

xiaolincoder commented 2 years ago

https://xiaolincoding.com/network/2_http/http_websocket.html

0RAJA commented 2 years ago

小林小林,请问websocket如何进行限流呢,腾讯一面面试官问到了,可以讲解一下嘛

wymann01 commented 2 years ago

小林大佬,文章有的图片挂了

wonderfuer commented 2 years ago

好文

xiaolincoder commented 2 years ago

@wymann01

小林大佬,文章有的图片挂了

已解决

fadewalk commented 1 year ago

就是所谓的长训轮机制。这个是不是写反了,有点拗口

Zhirui-Zhang commented 1 year ago

像这种发起一个请求,在较长时间内等待服务器响应的机制,就是所谓的长训轮机制。我们常用的消息队列 RocketMQ 中,消费者去取数据时,也用到了这种方式。

大佬,这里有个错别字

ZhFngHui commented 1 year ago

webSocket这个比喻很形象,太痛了

ApanL commented 1 year ago

那么HTTP/2和WebSocket相比又如何呢,二者都支持服务器主动推送

oYto commented 1 year ago

@0RAJA

小林小林,请问websocket如何进行限流呢,腾讯一面面试官问到了,可以讲解一下嘛

1、连接限制:通过限制连接数来控制服务器资源的使用情况。可以设置一个最大连接数,当连接数超过这个限制时,新的连接请求就会被拒绝。这种方法通常需要使用一些负载均衡器来实现。

2、速率限制:通过限制每个客户端的请求速率来控制服务器的负载。可以设置一个固定的速率,每个客户端只能在一定时间内发送一定数量的请求。这种方法通常需要使用一些中间件来实现,例如 Redis 等。

3、消息大小限制:通过限制每个消息的大小来控制服务器的负载。可以设置一个最大的消息大小,当消息大小超过这个限制时,消息就会被拒绝。这种方法通常需要在 WebSocket 协议的底层实现中进行处理。

Cytus-Re commented 1 year ago

B站有人把你这个做成了视频,一个字都没改。。。也没标明作者。。。链接:【为什么有HTTP还要有websocket?(下)】 https://www.bilibili.com/video/BV19N411474y/?share_source=copy_web&vd_source=d2c50f0651cc5cc5a6ca135af5bdd598

superfeimao commented 12 months ago

@ApanL

那么HTTP/2和WebSocket相比又如何呢,二者都支持服务器主动推送

查了一下,好像http2虽然支持主动推送,但是http主要还是按照请求-响应,http2这种推送是基于单次请求-响应周期的。也就是说,服务器推送的资源是基于初始的请求而来的,并不是基于后续的实时交互。http2的开销可能比webscoket大

laoguaer commented 12 months ago

@Cytus-Re本来就是人家的

B站有人把你这个做成了视频,一个字都没改。。。也没标明作者。。。链接:【为什么有HTTP还要有websocket?(下)】 https://www.bilibili.com/video/BV19N411474y/?share_source=copy_web&vd_source=d2c50f0651cc5cc5a6ca135af5bdd598

yuanhao-s commented 7 months ago

@ZhFngHui

webSocket这个比喻很形象,太痛了

哈哈哈哈哈哈

shui-sheng commented 7 months ago

有个问题,既然TCP是全双工的,那HTTP实际上也可以双向实时通信(即client发送请求后,这个连接一直保持,server也可以实时将更新的数据发送给client呀),为什么还需要websocket呢

JentXiezzz commented 7 months ago

@shui-sheng

有个问题,既然TCP是全双工的,那HTTP实际上也可以双向实时通信(即client发送请求后,这个连接一直保持,server也可以实时将更新的数据发送给client呀),为什么还需要websocket呢

TCP是全双工,但HTTP设计的时候被设计成了半双工(客户端请求->服务器响应),因为HTTP最初设计的时候只考虑到查看网页的场景。

loststars6517 commented 4 months ago

@Cytus-Re

B站有人把你这个做成了视频,一个字都没改。。。也没标明作者。。。链接:【为什么有HTTP还要有websocket?(下)】 https://www.bilibili.com/video/BV19N411474y/?share_source=copy_web&vd_source=d2c50f0651cc5cc5a6ca135af5bdd598

有没有一种可能 人家开头标注了文章是转载自这个视频up主的公众号

severusq commented 1 month ago

请问HTTP和websocket谁快呢?