你可以看到,stream 对象有两个办法>
什么是 HTTP/2 Server Push
该实现的关键就在于,环绕着 streams(流)。不是树林中的河道,而是指开辟者应用的大年夜泉源到客户端的建立起的数据通道流。如不雅你几乎不懂流以及 Node.js 和 Express.js 的 HTTP 的要乞降返回信息
启动和比较 HTTP/2 Server Push
应用敕令 node index.js 或者 npm stat 运行办事端脚本,然后拜访 https://localhost:3000/pushy,就可以看到弹窗!并且我们在该路由不存在文件,你可以查看办事器终端的 logs ,只会有一个请求,而不是没应用办事器推送的时刻的两个请求(一个 HTML、一个 JS)。
可以在浏览器中检测收到办事器端推送的行动。Chrome 启动开辟者对象,打开 Network 标签,你可以看到 main.js 不存在绿色时光条,就是解释没有等待时光 TTFB (Time to First Byte)具体
再细心看,可以看到请求是由 Push 开端提议的(Initiator列查看),没有应用办事器推送的 HTTP/2 办事器或者 HTTP/1,这一列就会显示文件名称,如 index.html 提议的显示就是 index.html。
实践就停止了,应用了 Express 和 Spdy 简单就实现了推送 JS 资本,而该资本可以用于后面 HTML 中 <script> 标签惹人的。当然你也可以裹足本中应用 fs 来攫取文件资本。
总结
当前的目次构造如下
HTTP/2 拥有很多很好的特点,办事器推送是最被看好的特点之一。它的好处就在于当浏览器请求页面的时刻,同时发送必须的资本文件(图片,CSS 样式,JS 文件),而不须要等待客户端浏览器请求这些资本,大年夜而做到更快的第一次衬着时光
HTTP/2 库 spdy 闪开辟者在基于 Express 的应用能更轻易的实现办事器推送特点。
【编辑推荐】
- 在Node.js中看JavaScript的引用
- Go说话HTTP Server源码分析
- Node.js在复杂集成场景下占据统治地位的五个来由
- 若何搭建一个HTTPS办事端
- 应用Visual Studio Code对Node.js进行断点调试
推荐阅读
如今的数据中间早已不是一座孤立的机房,而是一个建筑群。一个数据中间可以包含很多个分支数据中间,可以说是一个数据中间群,这些分支数据中间所处的地位不合,却可以经由过程收集互联起>>>详细阅读
本文标题:通过 Node.js, Express.js 实现 HTTP/2 Server Push
地址:http://www.17bianji.com/lsqh/34916.html
1/2 1