浏览器请求及服务器数据推送问题

2017-11-16 03:09:24 +08:00
 caola

现在有很多基于浏览器的 p2p 及区块链的项目,比如 ipfs、Webtorrent 等,基本是使用浏览器的 WebRTC 和 WebSockets 来实现。

我现在有个想法是,使用国外的服务器做为前端响应, 然后使用国内的服务器非 80/443 等端口进行数据推送到客户端浏览器。

流程(1):浏览器访问国外服务器 A,国外服务器 A 告诉浏览器,到国内服务器 B 拉取数据。

流程(2):浏览器访问国外服务器 A,国外服务器 A 通知国内服务器 B,国内服务器 B 推送数据到浏览器。

虽然 Alt-Svc 和 QUIC 可以实现流程(1)的方案,但只能是在第二次响应后才会从国内服务器 B 拉取数据,不符合要求。

HTTP/2 协议有一个 ALTSVC 帧,具说完全可以实现流程(1),但不清楚怎么使用,及浏览器支持问题

不知道能否可以通过 WebRTC 和 WebSockets 来实现,希望大神能支招……

2138 次点击
所在节点    HTTP
4 条回复
yaoliyc
2017-11-16 07:46:44 +08:00
这是内网穿透或流量转发,将 vps 接收到的请求转发到后面的机器。
caola
2017-11-16 18:26:39 +08:00
@yaoliyc 这并不是什么内网穿透的问题,
我的意思是:访问 A 服务器,由 B 服务器返回数据给浏览器,之后就是 B 服务器与浏览器的数据交互了。
就是需要 http/2 中的 ALTSVC 帧所描述的功能。
yaoliyc
2017-11-16 18:41:28 +08:00
@caola 按你的说法 b 服务器如何与浏览器建立连接?流量只能经过 A 服务器吧。
yaoliyc
2017-11-16 18:43:17 +08:00
@caola 又看了遍问题描述,你是想 b 服务器主动发起与浏览器的连接?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/406782

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX