HTTP/2协议中,客户端是否能够向服务器推送消息?

3
我的问题很简单。我希望看到我的当前客户端/服务器系统在HTTP/2上运行。
因此,我需要知道客户端是否能够将消息推送到服务器。这与KeepAlive的结合将为我的应用程序带来巨大的好处。
祝好!

如果我正确理解您的需求,那么一切都应该自动工作。例如,标准的HTML页面可以有多个<script><link><img>等元素。让我们将这些元素指向支持HTTP/2的同一Web服务器。Web浏览器将打开连接并向服务器发送GET请求。在多个GET请求之间会有小的超时时间,但第二个及以后的请求将不会等待前一个GET请求的响应,并且通信的时间轴几乎与合并数据的单个请求相同。 - Oleg
谢谢您的回答。该应用程序不应用于为Web浏览器提供HTML数据。我想让服务器客户端连接通过HTTP/2协议运行以进行通信和共享数据。希望这对您有意义。 - ekul
好的,我的错误。我想使用基于Java的HTTP/2服务器。架构应该是这样的。1)服务器运行并等待。2)客户端连接(HTTP/2管道现在应该是打开的)。3)客户端发送登录凭据。4)正确登录后,服务器接受来自客户端的每个传入流。计划是通过管道从客户端向服务器发送消息。服务器应该能够处理这些消息。 - ekul
@MrNoSql:在我看来,你似乎要将http/2用于某些不是严格设计的用途。看看websocket、JMS(各种传输)或MQTT吧。我认为它们更符合你刚才描述的语义。 - rkosegi
听起来不错。你看到有什么问题吗?你有什么问题吗?如果你使用异步请求到服务器(这是多年来的标准方式),那么如果客户端和服务器都支持HTTP/2,那么你的客户端将自动使用相同的管道。 - Oleg
显示剩余2条评论
1个回答

1

将消息推送到服务器等同于向服务器发出常规请求

因此,是的,您可以在http2中像在http中那样执行此操作。


嗨,谢谢你的评论。每个客户端推送都会经过管道吗? - ekul
你能解释一下“客户端推送”是什么意思吗?HTTP2 的设计采用了流水线技术。 - rkosegi
我的意思是,当我作为客户端打开到服务器的连接时,管道会打开并可以配置为保持活动状态。问题是客户端是否可以使用管道以这种方式向服务器传输消息。 - ekul
你是在尝试模拟WebSocket吗? - rkosegi
抱歉回复晚了。是的,但是使用HTTP2协议。 - ekul
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接