基于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'); })();