Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js httpS和http/2之间有什么区别?_Node.js_Express_Https_Http2 - Fatal编程技术网

Node.js httpS和http/2之间有什么区别?

Node.js httpS和http/2之间有什么区别?,node.js,express,https,http2,Node.js,Express,Https,Http2,我试图理解HTTPS和http/2之间的区别是什么 如果我要构建Node.js/express应用程序,我应该使用什么 我可以将HTTPS与http/2一起使用吗 也许如果我使用HTTPS,我不需要http/2,因为它是一样的,或者HTTPS在幕后使用http/2 我很困惑 有人链接到我“HTTP 1.1和HTTP 2.0之间的差异[关闭]”,但我理解HTTP和HTTP2之间的差异。我问的是HTTPS和HTTP/2HTTP——客户端(例如web浏览器)从服务器(例如web服务器)请求资源的协议

我试图理解HTTPS和http/2之间的区别是什么

如果我要构建Node.js/express应用程序,我应该使用什么

我可以将HTTPS与http/2一起使用吗

也许如果我使用HTTPS,我不需要http/2,因为它是一样的,或者HTTPS在幕后使用http/2

我很困惑


有人链接到我“HTTP 1.1和HTTP 2.0之间的差异[关闭]”,但我理解HTTP和HTTP2之间的差异。我问的是HTTPS和HTTP/2

HTTP——客户端(例如web浏览器)从服务器(例如web服务器)请求资源的协议

HTTPS-一种加密HTTP的方法。它基本上使用SSL/TLS以加密格式包装HTTP消息。web正越来越多地转向HTTPS,当网站通过未加密的HTTP提供服务时,web浏览器开始发出越来越多的警告。除非你有很好的理由不这样做,否则在你现在创建的任何网站上使用HTTPS

深入了解HTTP,我们有:

HTTP/1.1-直到最近,这还是HTTP的流行格式。它是一种基于文本的协议,存在一些低效性,尤其是在请求大量资源(如典型的网页)时。HTTP/1.1消息可以是未加密的(其中网站地址以HTTP://)或用HTTPS加密的(其中网站地址以HTTPS://)消息。客户端使用URL的开头来决定使用哪个协议,如果没有提供,通常默认为http://协议

HTTP/2-2015年发布的HTTP新版本,通过从基于文本的协议转向基于文本的协议,解决了一些性能问题。这更容易为客户端和服务器解析,为错误留出更少的空间,并且允许。HTTP/2与HTTP/1.1一样,可以通过未加密(HTTP://)和加密(https://)通道使用,但web浏览器仅支持通过https使用,在https上,连接开始时决定是否使用HTTP/1.1或HTTP/2作为https协商的一部分

(截至2020年1月,高达50%的网站,以及)。但是,并非所有客户端都支持HTTP/2,因此您应该尽可能支持HTTPS上的HTTP/1.1和HTTPS上的HTTP/2(我相信node在使用HTTP模块时会自动为您做到这一点)。我不相信HTTP/1.1会很快退役。还应该考虑在未加密HTTP上支持HTTP/1.1,然后重定向到HTTPS版本(然后适当地使用HTTP/ 1.1或HTTP/ 2)。Node前面的Apache或Nginx这样的web服务器使这变得很容易

HTTP/3-HTTP的下一个版本,目前正在开发中。它预计将在2020年完成,但可能要到2020年底甚至2021年才能在网络服务器和node等语言中广泛使用。它将构建在一个名为QUIC的基于UDP的传输之上(而不是HTTP/1.1和HTTP/2所基于的基于TCP的协议)。它将在协议中包含HTTPS的一部分,因此HTTP/3只能通过HTTPS提供

简而言之,你应该在HTTPS上使用HTTP/1.1,也应该考虑HTTP / 2,如果很容易实现(不总是可能的,因为它不是无处不在的,但是到达那里),将来你可能会使用HTTP/3。
如果您想进行web开发,我建议您对所有这些技术有一个明确的了解(除了HTTP/3)。这对你有好处。

可能是@PatrickHund的副本。我在你的链接中没有看到任何关于https的内容。也许。。。对您来说,一个更有用的研究方法是http与https。否则,你是在比较苹果和冰箱。也许。。。回答一个问题更有用?