Unterstützt NodeJS 4.x oder 5.x nativ das HTTP/2-Protokoll? Ich weiß, dass es http2 Paket gibt, aber es ist eine externe Sache.NodeJS native http2-Unterstützung
Gibt es Pläne, die http2-Unterstützung in den Kern des Knotens zu integrieren?
Unterstützt NodeJS 4.x oder 5.x nativ das HTTP/2-Protokoll? Ich weiß, dass es http2 Paket gibt, aber es ist eine externe Sache.NodeJS native http2-Unterstützung
Gibt es Pläne, die http2-Unterstützung in den Kern des Knotens zu integrieren?
--expose-http2
Flag ermöglicht experimentelle HTTP2 Unterstützung. Dieses Flag kann seit dem 5. August 2017 (pull request) bei der nächtlichen Erstellung (Node v8.4.0) verwendet werden.
node --expose-http2 client.js
Client.js
const http2 = require('http2');
const client = http2.connect('https://stackoverflow.com');
const req = client.request();
req.setEncoding('utf8');
req.on('response', (headers, flags) => {
console.log(headers);
});
let data = '';
req.on('data', (d) => data += d);
req.on('end',() => client.destroy());
req.end();
--experimental-modules
Flag kann auch da Knoten v8.5.0 hinzugefügt werden.
node --expose-http2 --experimental-modules client.mjs
client.mjs
import http2 from 'http2';
const client = http2.connect('https://stackoverflow.com');
Ich benutze NVS (Node Version Switcher) zum Testen Nightly Builds.
nvs add nightly
nvs use nightly
Nein, noch nicht. Hier
ist die Diskussion über das Hinzufügen von HTTP/2-Unterstützung auf Kern NodeJS: https://github.com/nodejs/NG/issues/8
Hier ist das Repository https://github.com/nodejs/http2 – pungggi
Knoten 8.4.0 verfügt über eine experimentelle Http2-API. Dokumente hier nodejs http2
Weißt du, wann http2 Unterstützung in Nodejs nicht mehr experimentell sein wird? – funkenstrahlen
Von Knoten v8.8.1 benötigen Sie nicht das --expose-http2
Flag, wenn Sie Ihren Code ausführen.
Der einfachste Weg, um mit HTTP/2 zu beginnen, ist die Verwendung der Kompatibilitäts-API, die Node.js verfügbar macht.
const http2 = require('http2');
const fs = require('fs');
const options = {
key: fs.readFileSync('./selfsigned.key'),
cert: fs.readFileSync('./selfsigned.crt'),
allowHTTP1: true
}
const server = http2.createSecureServer(options, (req, res) => {
res.setHeader('Content-Type', 'text/html');
res.end('ok');
});
server.listen(443);
Ich habe mehr darüber geschrieben, über die native HTTP/2 Node.js exposes to create a server here verwenden.
Siehe auch das aktuelle serverseitige Beispiel in der Node.js-Dokumentation: https://nodejs.org/api/http2.html#http2_server_side_example. –
Vergessen Sie nicht, 'process.env.NODE_TLS_REJECT_UNAUTHORIZED =" 0 ";' für selbstsignierte Zertifikate hinzuzufügen, um eine SSL-Verbindung herstellen zu können. –
Siehe auch das aktuelle clientseitige Beispiel in der Node.js-Dokumentation: https://nodejs.org/api/http2.html#http2_client_side_example. –