首页 > 解决方案 > node.js 中的 JSGI 和 `http.createServer()` 是执行服务器端 JavaScript Web 应用程序的两种替代方式吗?

问题描述

我看到我们可以使用http.createServer()来自https://medium.com/@saurabhkumar_4718/a-simple-nodejs-server-without-express-js-6773122d365f的 JavaScript 编写一个没有框架的服务器端 Web 应用程序

我也从https://en.wikipedia.org/wiki/JSGI看到

JSGI,即 JavaScript 网关接口,是 Web 服务器和基于 JavaScript 的 Web 应用程序和框架之间的接口

是否有两种方法可以相互替代,都用于执行服务器端 JavaScript Web 应用程序?还是它们用于不同的目的,并且可以一起工作?

当我们可以通过创建服务器来实现同样的目标时,为什么还需要 JSGI http.createServer()

标签: javascriptnode.js

解决方案


正如评论中提到的,是HTTP 服务器和基于 JavaScript 的 Web 应用程序之间的JSGI旧且非常低级的接口。我个人从未遇到过任何使用. 您可以使用在 nodejs 中运行您的 http 服务器,但是您必须处理很多事情,例如解析请求和响应。使用时也不需要JSGIhttp.createServer()JSGIhttp.createServer()

在 nodejs 上运行 Web 服务器的更好(更实用、现代和高级)的方法是使用expresskoa


推荐阅读