http/2服务端推送
发布于 5 年前 作者 heshuai326 3184 次浏览 来自 问答

1.在客户端是怎么接收服务器的推送?

image.png 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 image.png (三个模块都需要依赖与node原生http等依赖)

2.由这个问题引发的node的所有模块只要引入到浏览器端代码就就报错 image.png (图片上用的是typescript项目) image.png 观点:按照我的理解只要是js代码都可以在浏览器上运行(不包括ES6,浏览器不能解析的) 结论:前端(浏览器是不能运行node的相关模块) 猜测:node的原生模块不是js(C/C++)

4 回复

http2 和 fs 是node (后端才有的)

客户端和服务器的概念是相对的。

node 也可以作为客户端来请求 node服务端。 (这种客户端一般是测试用、嵌入式设备、客户端设备、内网其他服务)

客户端包含了浏览器,但客户端不一定是浏览器。

@zuohuadong 对于客户端包含了浏览器这点可以理解了。 您的这个demo我也由看到,在浏览器端通过script标签导入资源的时候它是后端推送过来的。 但是我现在的业务场景是用这个推送来代替websoket类似的实施推送功能,所以我需要取接收数据,对于建立的这个连接需要实时的去监听。 像上图的例子中它提供的on方法去监听响应的数据,我用axios类似的库发送一个简单的get请求,监听不了实时的数据。

@heshuai326 不清楚你本地怎么实现的, 浏览器端 HTTP2 是强制使用 HTTPS 的。

回到顶部