作家
登录

通过 Node.js, Express.js 实现 HTTP/2 Server Push

作者: 来源: 2017-04-24 12:06:30 阅读 我要评论

  • }) 
  • 你可以看到,stream 对象有两个办法>

  • var options = { 
  •   key: fs.readFileSync('./server.key'), 
  •   cert: fs.readFileSync('./server.crt'
  •  
  • http2 
  •   .createServer(options, app) 
  •   .listen(8080, ()=>{ 
  •     console.log(`Server is listening on https://localhost:8080. 
  •     You can open the URL in the browser.`) 
  •   } 
  • 什么是 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 的应用能更轻易的实现办事器推送特点。

    【编辑推荐】

    1. 在Node.js中看JavaScript的引用
    2. Go说话HTTP Server源码分析
    3. Node.js在复杂集成场景下占据统治地位的五个来由
    4. 若何搭建一个HTTPS办事端
    5. 应用Visual Studio Code对Node.js进行断点调试
    【义务编辑:武晓燕 TEL:(010)68476606】

      推荐阅读

      实现数据中心间互通的纽带——DCI技术

    如今的数据中间早已不是一座孤立的机房,而是一个建筑群。一个数据中间可以包含很多个分支数据中间,可以说是一个数据中间群,这些分支数据中间所处的地位不合,却可以经由过程收集互联起>>>详细阅读


    本文标题:通过 Node.js, Express.js 实现 HTTP/2 Server Push

    地址:http://www.17bianji.com/lsqh/34916.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)