背景:想象一下,你有一个具有这种架构的Web应用程序:一个Node App Server(Koa)和一个Nginx Web Server。
场景:客户端浏览器向服务器发出请求。它被nginx接收并发送到应用服务器和应用服务器响应回到nginx和nginx响应回客户端。
问题:通过此交互,每个请求和响应的协议是什么?你配置它们,是http / 1还是1.1或2?是tcp / ip
浏览器请求:TCP / IP ??? Nginx请求:???应用服务器响应:??? Nginx请求:???
app server和nginx通过什么协议进行通信?
无论你配置什么协议。
想象一下,你有一个具有这种架构的Web应用程序:一个Node App Server(Koa)和一个Nginx Web Server。
您的Koa应用程序将使用HTTP。因此,在Nginx和您的应用服务器之间使用HTTP。
浏览器请求:TCP / IP ???
HTTP始终通过TCP运行。浏览器将使用自身和服务器支持的任何版本的HTTP。
你配置它们,是http / 1还是1.1或2?
是的,你配置它。虽然,Node.js不能正确支持HTTP / 1.0。并且,HTTP / 2通常由您的Web服务器终止(在此示例中为Nginx)。因此,通常在Nginx和Node.js应用服务器之间使用HTTP / 1.1。显然,如果你改变它,这可能会改变。