Articles of http2

使用从chrome到node-http2服务器的HTTP / 2时,请参阅多个TCP连接

更新(对于任何对结果感兴趣的人:) 我无法弄清为什么chrome和node-http2服务器之间的下一个协议协商失败。 我的怀疑是自签名证书或ALPN / NPN支持问题。 所以我搬到了golang HTTP / 2的实现 。 相同的设置完美地工作,我看到单个多路复用的TCP连接(铬 – > golang) 我一直在阅读关于HTTP / 2的知识,以及它如何通过每个主机的单个多路复用TCP连接来解决HTTP / 1.1的延迟问题,所以我决定尝试一下。 本实验 创build一个简单的HTML文件,引用一个CSS,一个JS和几个图像。 Node.js中的一个简单的http服务器,它提供所有这些文件 使用chrome发出http请求 在Ubuntu上使用tcptrack( tcptrack )来跟踪到http服务器的TCP连接。 tptrack窗口显示build立了4个连接。 所以浏览器打开不同的连接图像和CSS / JS请求。 我使用tcpdump获得类似的输出。 供参考使用的tcptrack命令是 tcptrack -d -i eth0 -r 3600端口8989 而tcpdump也显示类似的输出 tcpdump -i eth0 -nns 0“dst port 8989 and tcp [tcpflags] == tcp-syn” 服务这些文件的简单的一台http服务器就像下面这样(相关的代码) (function(){ ……….. var […]

使用SystemJS生成工作stream,并通过CDN托pipe外部依赖项

我试图找出一个良好的生产工作stream程,与开发工作stream程很好。 需要从构build中排除1MB的外部库,然后使用CDN分别托pipe它们。 所以我们有这个: <script src="jspm_packages/system.js"></script> <script src="config.js"></script> <script src="build.js"></script> <script> System.import('app/main.js'); </script> 这很好,main.js中的任何内容都被忽略,因为它已经包含在build.js中。 虽然我猜这意味着什么时候该回到开发热门的时候,我们必须先删除build.js? 所以现在我想分开生产的外部依赖关系: builder.buildStatic('app/main.js', 'build.js', { externals: ['jquery'], globalName: 'App', globalDeps: { 'jquery': 'jQuery' } }); 当我们这样做时,我们需要添加一行: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2 jquery.min.js"></script> <script src="jspm_packages/system.js"></script> <script src="config.js"></script> <script src="build.js"></script> <script> System.import('app/main.js'); </script> 这意味着,当我们切换回开发版本时,jQuery将被双重捆绑到main.js中? 然后是SystemJS的片段: System.config({ bundles: { 'build/core': ['jquery'] } }); System.import('app/main.js'); 不知道如何使用这个,因为现在我们不会使用CDN来托pipejQuery。 所以对我来说,这种感觉就像一个捕捉22. JSPM是伟大的,因为它给你的包pipe理,但要在生产中使用的包,你希望他们在外面。 所以如果我们不得不在页面中包含脚本标签,那么这不就是JSPM的目的呢? […]

Node.js HTTP2服务器错误:套接字挂断

鉴于具有实验性HTTP2支持的最新版本的Node.js: $ node -v v9.2.0 一个HTTP2服务器: var options = { key: getKey(), cert: getCert(), allowHTTP1: true } var server = http2.createSecureServer(options) server.on('stream', onstream) server.on('error', onerror) server.on('connect', onconnect) server.on('socketError', onsocketerror) server.on('frameError', onframeerror) server.on('remoteSettings', onremotesettings) server.listen(8443) function onconnect() { console.log('connect') } function onremotesettings(settings) { console.log('remote settings', settings) } function onframeerror(error) { console.log('frame error', error) } function onsocketerror(error) […]

NodeJS原生http2支持

NodeJS 4.x或5.x本身支持HTTP / 2协议吗? 我知道有http2包,但这是一个外部的东西。 有没有计划将http2支持合并到Node的核心中?