应用服务器和nginx通过什么协议通信?

What protocol does an app server and nginx communicate through?

背景: 假设您有一个具有这种架构的 Web 应用程序:前面有一个 Node App Server(Koa) 和一个 Nginx Web Server。

场景: 客户端浏览器向服务器发出请求。它被 nginx 接收并发送到应用服务器,应用服务器响应返回到 nginx,nginx 响应返回到客户端。

问题: 从这个交互中,每个请求和响应的协议是什么?你配置他们,是http/1还是1.1还是2?是吗tcp/ip

浏览器请求:TCP/IP ??? Nginx 请求: ??? 应用服务器响应:??? Nginx 请求:???

What protocol does an app server and nginx communicate through?

无论您配置什么协议。

Imagine you have a web app with this architecture: A Node App Server(Koa) and an Nginx Web Server in front.

您的 Koa 应用程序将使用 HTTP。因此,在 Nginx 和您的应用服务器之间使用 HTTP。

Browser Request: TCP/IP ???

HTTP 始终 运行 通过 TCP。浏览器将使用自身和服务器支持的 HTTP 版本。

Do you configure them, is it http/1 or 1.1 or 2?

是的,你配置它。虽然,Node.js 不支持 HTTP/1.0 正确。而且,HTTP/2 通常 由您的 Web 服务器(本例中为 Nginx)终止。因此,在 Nginx 和您的 Node.js 应用程序服务器之间使用 HTTP/1.1 是 典型的。很明显,如果你改变它,它就会改变。