📌  相关文章
📜  网络技术问题 | Node.js 测验 |第 2 组 |问题 11(1)

📅  最后修改于: 2023-12-03 15:27:40.375000             🧑  作者: Mango

网络技术问题 | Node.js 测验 | 第 2 组 | 问题 11

欢迎参加本次 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 命令,可以验证服务器返回了我们期望的响应。