Node.js 中的 HTTP 服务器
Node.js 有一个内置的 http.Server
。 以下是如何启动一个 HTTP 服务器来响应每个带有字符串 Hello, World 的请求:
const http = require('http');
// You usually don't call `new http.Server()`, the `http.createServer()`
// function creates a new `Server` instance for you.
const server = http.createServer((req, res) => res.end('Hello, World!'));
server instanceof http.Server; // true
await server.listen(3000);
Node.js 的基于事件循环的并发使得测试 HTTP 服务器变得容易。 例如,您可以启动一个服务器,然后在 的情况下使用 Axios HTTP 库向该服务器发出 HTTP 请求 ,没有任何线程
const http = require('http');
const server = http.createServer((req, res) => res.end('Hello, World!'));
server instanceof http.Server; // true
await server.listen(3000);
// Make an HTTP request to the server
const axios = require('axios');
const res = await axios.get('http://localhost:3000');
res.data; // 'Hello, World'
Express
大多数应用程序使用 HTTP 框架而不是使用 http.Server
直接编写。 http.createServer()
function 只接受一个函数作为参数,因此,如果你直接使用 Node 的 HTTP 服务器,你将负责实现路由、HTTP 主体解析等。像 Express 这样的框架负责路由和主体解析,并提供组织模式你的代码。
但是,大多数框架使用 http.Server
在引擎盖下,让您访问原始的 Node.js HTTP 服务器。 例如,Express listen()
函数返回一个实例 http.Server
Class:
const express = require('express');
const app = express();
const server = app.listen(3000);
server instanceof require('http').Server; // true
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 如何查看你的 Node.js 版本
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论