chrome - node.js 实现http2疑问?
天蓬老师
天蓬老师 2017-04-17 14:35:27
[Node.js讨论组]

是这样的。
我本地使用过node-http2模块,也使用过spdy,同时也尝试过npm install http2.

最终的结果是:

chrome浏览器版本:51.0.2704.106 m
node.js:4.4

使用这些模块创建http2请求时,chrome浏览器的检查元素查看protocol(协议)是https,并不是显示的http2.

**所以想请问下:
是不是这些模块实现了功能,但是并不被浏览器认可?
另外求可被浏览器认可的方案。**

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
阿神

考虑下是不是你的代码写的有问题?

可以参考我写的这篇文章:https://segmentfault.com/a/11...

PHP中文网

已经上线的,供参考,按你处情况改一改:

'use strict';
var http2 = require('http2'),
var server = require('./server');

var options = certificate: {
        key: fs.readFileSync('./SSL/www.key'),
        cert: fs.readFileSync('./SSL/www.crt'),
        //ca: fs.readFileSync('./SSL/root_bundle.crt')    //这个线上环境需要
    };

var app = http2.createServer(options, function (req, res) {
    var _postData = '';
    req.on('data', function (chunk) {
        _postData += chunk;
    }).on('end', function () {
        req.post = _postData;
        // 处理你的请求
        server.handlerRequest(req, res);
    });
}).listen('443', '0.0.0.0', function () {
    console.log('HTTP/2 Server running at https://0.0.0.0');
});

/*
 * http 方式的 redirect
 */
var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(301, { "Location": "https://" + req.headers.host + req.url });
    res.end();
}).listen('80', '0.0.0.0');
伊谢尔伦

node版本问题
实践在chrome浏览器常规页面10张图片33个连接的情况下 http2比http1.1(https以及http) 慢一半
http2耗时1秒以上没下过1秒 https只需要 700ms, http 则是600ms。
可能在某些场景会高于https 但http2连最基本的场景 也没发现有很好效果. 反而比https差劲
百度至今还是http1.1 淘宝则主要应用于图片资源 可以节省带宽并发强。实际业务中并没什么用。 慢。。。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号