基于node 搭建http2服务

1、准备工作:安装node
2、安装http2: npm install http2 -g
安装完成后,在安装目录中appData/Roaming>npm>node_modules>http2>example 找到localhost.key和localhost.crt文件,后面需要用到,这个用于生成证书。(在线证书生成地址:https://csr.chinassl.net/)

 


3、开始创建http2服务

const PORT = 8088;

//const spdy = require('spdy');--这个暂时不用管,spdy是http2的前身。
const http2=require('http2');
const path = require('path');
const fs = require('fs');
const url = require('url');

var options = {
    key: fs.readFileSync('./localhost.key'), //读取key
    cert: fs.readFileSync('./localhost.crt') //读取crt
};

var http2server = http2.createServer(options,function(request, response) {
      response.write("hello world");
});
http2server.listen(8088);

访问https://localhost:8088

 

检测页面是否使用http2:

 (function(){
    // 保证这个方法只在支持loadTimes的chrome浏览器下执行
    if(window.chrome && typeof chrome.loadTimes === 'function') {
        var loadTimes = window.chrome.loadTimes();
        var spdy = loadTimes.wasFetchedViaSpdy; 
        var info = loadTimes.npnNegotiatedProtocol || loadTimes.connectionInfo;
        // 就以 「h2」作为判断标识
        if(spdy && /^h2/i.test(info)) {
            return console.info('本站点使用了HTTP/2');
        }
    }
    console.warn('本站点没有使用HTTP/2');
})();

 

posted @ 2018-06-11 16:40  freewalker  阅读(493)  评论(0编辑  收藏  举报