📅  最后修改于: 2023-12-03 15:27:40.375000             🧑  作者: Mango
欢迎参加本次 Node.js 测验!在这个问题中,我们将讨论一些涉及网络技术的 Node.js 相关问题。这些问题包括 HTTP 请求和响应、Socket 连接、TCP/IP 协议等等。
下面是第 2 组的第 11 个问题:
在 Node.js 中,如何创建一个基于 HTTP/1.1 协议的 Web 服务器,并监听 8080 端口,可以接受 GET 或 POST 请求,并返回一个简单的 "Hello World!" 信息。
下面是一个简单的 Node.js 程序,可以实现上述功能:
const http = require('http');
const server = http.createServer((req, res) => {
if (req.method === 'GET' || req.method === 'POST') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!\n');
} else {
res.writeHead(405, { 'Content-Type': 'text/plain' });
res.end('Method Not Allowed\n');
}
});
server.listen(8080, () => {
console.log('Server running on port 8080');
});
我们使用 http.createServer()
方法创建了一个 HTTP 服务器,并将监听端口设置为 8080。在回调函数中,我们检查请求的方法是否为 GET 或 POST,如果是,则以状态码 200 和内容类型为 text/plain 的 HTTP 响应返回一个 "Hello World!" 字符串;否则,返回状态码 405 和一个 "Method Not Allowed" 字符串。最后,我们调用 listen()
方法开始监听端口,一旦服务器启动,会输出一条日志消息。
我们可以运行这个程序来测试它是否正常工作:
$ node app.js
Server running on port 8080
然后,在浏览器中输入 http://localhost:8080
或使用 curl 命令,可以验证服务器返回了我们期望的响应。