1.在客户端是怎么接收服务器的推送?
node的官方文档有实例,但是这段代码是不能运行在浏览器的,这个客户端指的不是浏览器吗? node文档链接: http://nodejs.cn/api/http2.html dart版本的相关实现模块:https://github.com/dart-lang/http2 node的所有http/2的模块:https://github.com/http2/http2-spec/wiki/Implementations (三个模块都需要依赖与node原生http等依赖)
2.由这个问题引发的node的所有模块只要引入到浏览器端代码就就报错 (图片上用的是typescript项目) 观点:按照我的理解只要是js代码都可以在浏览器上运行(不包括ES6,浏览器不能解析的) 结论:前端(浏览器是不能运行node的相关模块) 猜测:node的原生模块不是js(C/C++)
http2 和 fs 是node (后端才有的)
客户端和服务器的概念是相对的。
node 也可以作为客户端来请求 node服务端。 (这种客户端一般是测试用、嵌入式设备、客户端设备、内网其他服务)
客户端包含了浏览器,但客户端不一定是浏览器。
https://github.com/RisingStack/http2-push-example
public 下是浏览器(前端内容)
@zuohuadong 对于客户端包含了浏览器这点可以理解了。 您的这个demo我也由看到,在浏览器端通过script标签导入资源的时候它是后端推送过来的。 但是我现在的业务场景是用这个推送来代替websoket类似的实施推送功能,所以我需要取接收数据,对于建立的这个连接需要实时的去监听。 像上图的例子中它提供的on方法去监听响应的数据,我用axios类似的库发送一个简单的get请求,监听不了实时的数据。
@heshuai326 不清楚你本地怎么实现的, 浏览器端 HTTP2 是强制使用 HTTPS 的。