位置: 编程技术 - 正文

Node.js学习教程之HTTP/2服务器推送【译】(node. js教程)

编辑:rootadmin

推荐整理分享Node.js学习教程之HTTP/2服务器推送【译】(node. js教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js入门,node. js教程,node.js自学,node. js教程,node.js入门教程,node.js入门教程,node.js入门教程,node.js基础入门,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

最近Node.js v8.4+版本发布带来了体验版的HTTP/2,你可以自己通过设置参数--expose-http2启动。

这篇文章,我将介绍HTTP/2最重要的一方面服务器推送并且创建一个小的Node.js程序案例来使用它。下面话不多说了,来一起看看详细的介绍吧。

关于HTTP/2

HTTP/2 的目的是通过支持完整的请求与响应复用来减少延迟,通过有效压缩 HTTP 标头字段将协议开销降至最低,同时增加对请求优先级和服务器推送的支持。

更多关于HTTP/2内容,请查看文章HTTP/2。

服务器推送

HTTP/2 服务器推送(Server Push)允许服务器在浏览器请求之前将资源发送到浏览器。

在我们转到HTTP/2之前,我们来看看它如何与HTTP/1配合使用:

在HTTP/1中,客户端向服务器发送一个请求,服务器返回一个包含许多外部资源(.js,.css等文件)链接的HTML文件。当浏览器处理这个初始HTML文件时,它开始解析这些链接,并分别加载它们。

查看下面的demo加载过程的图像。 请注意时间表上的独立请求以及这些请求的启动:

Node.js学习教程之HTTP/2服务器推送【译】(node. js教程)

HTTP/1资源加载

这是HTTP/1的工作原理,这就是我们如何开发这么多年的应用程序。为什么要改变它呢?

当前方法的问题是用户必须等待浏览器解析响应,发现链接并获取资源。 这会延迟渲染并增加加载时间。 有一些解决方案,如内联一些资源,但也使得初始响应越来越大。

这是HTTP/2服务器推送功能进入视线的地方,因为服务器可以在浏览器请求之前将资源发送到浏览器。看看下面的图片,通过HTTP/2提供相同服务的网站。查看时间轴和启动器。 你可以看到HTTP/2复用减少了请求数量,并且资源与初始请求一起立即发送。

HTTP/2服务器推送

让我们看看今天如何在Node.js中使用HTTP/2服务器推送,来加快客户端的加载时间。

一个Node.js HTTP/2服务器推送案例

通过加载内置的http2模块,我们可以创建我们的服务器,就像我们使用https模块一样。

有趣的部分是在请求index.html时推送其他资源:

这样bundle1.js和bundle2.js资源即使在它要求它们之前也会被发送到浏览器。

你可以查看完整的案例: & Node

HTTP/2可以帮助我们在很多方面优化我们的客户端与服务器之间的通信。

通过服务器推送,我们可以将资源发送到浏览器,减少用户的初始加载时间。

总结

标签: node. js教程

本文链接地址:https://www.jiuchutong.com/biancheng/368544.html 转载请保留说明!

上一篇:Mac 安装 nodejs方法(图文详细步骤)(mac安装nodejs的权限问题)

下一篇:使用 Node.js 模拟滑动拼图验证码操作的示例代码(nodejs模拟浏览器环境)

  • 税务零申报是什么意思情况
  • 预缴的附加税月末结转吗
  • 资产负债表两边不平衡的原因
  • 小企业周转材料报废残值回收应计入管理费用
  • 增值税普通发票可以抵扣吗
  • 哪些税可以在企业中抵扣
  • 金融业保险业
  • 劳务服务公司业务范围
  • 有限公司属于什么企业
  • 外包的人力费用包括哪些
  • 软件开发过程中必须伴有质量保证活动
  • 闲置资金购买理财产品
  • mac系统如何连接北通手柄
  • 鸿蒙桌面卡片怎么变小
  • win7不能进系统怎么办
  • 汇兑损益怎么记账
  • 预付账款为什么是资产
  • windowsserver2019安装教程
  • win7宽带连接错误651
  • mac屏幕横过来了
  • 政府土地购买流程
  • vue 拖拽到目标区域
  • 按实际成本结转6日和7日的材料采购成本
  • dotnetfx2.0
  • 进度条js代码
  • win10蓝牙无法连接,有解决方法吗
  • 最小的的照片
  • 格拉纳达的阿尔罕布拉宫用什么材料制成?
  • 一个非常有用的工具用英语怎么说
  • 可供出售金融资产和交易性金融资产
  • 承兑汇票到期超过10天怎么办
  • php获取当前页面url
  • thinkphp分表查询
  • 一般纳税人普票可以抵扣吗
  • 500元以下开收据要交税吗
  • 电子发票税率怎么改
  • dedecms更新
  • MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
  • 公司购买基金入什么科目
  • 公司进项抵税
  • 怎么处理部分股票流出
  • 债权投资相关科目
  • 退回工伤保险的现金流
  • 在建工程账务处理会计分录
  • 融资租赁会计处理实例承租人
  • 如何加强存货管理,提高存货周转率
  • 帮别人加工需要什么手续
  • 暂估应付账款借贷方向
  • 企业职工薪酬如何确定
  • 关于端午节福利发放的通知(通知公告)
  • 停车费怎么入账会计分录
  • 公司运营成本如何计算
  • MySQL 5.7 mysql command line client 使用命令详解
  • windows7/vista/server(no slic)
  • windows server 2008 r2离线激活
  • dos命令 新建文件
  • win10预览版21301bug
  • winxp开机界面后老重启
  • smss.exe是干嘛的
  • 命令行sudo无效
  • msp sncp
  • linux怎么下载安装腾讯Tim?
  • Win10 Mobile Redstone版本号确定为Build 11082明年发布
  • win10系统开机后任务栏无响应怎么解决
  • win8无法安装wps
  • win10预览版和正式版区别
  • android的开发
  • include eigen
  • unity火球特效
  • nodejs操作mongodb
  • 使用的英文
  • shell脚本相互调用
  • js插件推荐
  • unity动画animator
  • 成都市电子税务局网上申报
  • 北京社保外埠城镇职工和外埠农村劳动力啥区别
  • 组织创新包括哪些类型
  • A级纳税人和一般纳税人区别
  • 如何查询甘肃省清产核资系统扶贫项目资产金额
  • 福建平潭综合实验区属于哪个市
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设