是这样的。
我本地使用过node-http2模块,也使用过spdy,同时也尝试过npm install http2.
最终的结果是:
chrome浏览器版本:51.0.2704.106 m
node.js:4.4
使用这些模块创建http2请求时,chrome浏览器的检查元素查看protocol(协议)是https,并不是显示的http2.
**所以想请问下:
是不是这些模块实现了功能,但是并不被浏览器认可?
另外求可被浏览器认可的方案。**
是这样的。
我本地使用过node-http2模块,也使用过spdy,同时也尝试过npm install http2.
最终的结果是:
chrome浏览器版本:51.0.2704.106 m
node.js:4.4
使用这些模块创建http2请求时,chrome浏览器的检查元素查看protocol(协议)是https,并不是显示的http2.
**所以想请问下:
是不是这些模块实现了功能,但是并不被浏览器认可?
另外求可被浏览器认可的方案。**
已经上线的,供参考,按你处情况改一改:
'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 淘宝则主要应用于图片资源 可以节省带宽并发强。实际业务中并没什么用。 慢。。。。
4 回答2.7k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
3 回答1.7k 阅读
1 回答1.1k 阅读✓ 已解决
考虑下是不是你的代码写的有问题?
可以参考我写的这篇文章:https://segmentfault.com/a/11...