zoukankan      html  css  js  c++  java
  • 基于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');
    })();
  • 相关阅读:
    ORM模型框架(使用mysql)
    Python操作Mysql
    Jmeter操作数据库
    .NetCore+OpenSSL实现Https
    深入理解Https如何保证通信安全
    关于数据库事务和锁的一些分析
    C# Task.Run与Task.Factory.StartNew
    WPF 元素代理解决MVVM模式下DataGridColumn绑定无效问题
    WPF DataGrid行拖拽
    C#集合Clear()和new的性能差异
  • 原文地址:https://www.cnblogs.com/lydialee/p/9167781.html
Copyright © 2011-2022 走看看