📅  最后修改于: 2023-12-03 15:41:08.952000             🧑  作者: Mango
本文将介绍如何编写一个简单的 HTTP 服务器,该服务器能够接受 HTTP 请求并响应相应的内容。我们使用 Node.js 编写服务器。
你需要安装 Node.js 环境,如果还没有安装,可以从 官网 下载并安装。
我们创建一个名为 server.js
的文件,并在其中编写代码。
首先,我们需要引入 Node.js 的 http
模块:
const http = require('http');
接着,我们可以创建一个服务器:
const server = http.createServer((req, res) => {
// 处理请求
});
在响应请求之前,我们需要解析请求的内容,然后根据其内容发送相应的响应。我们可以使用 Node.js 的 url
模块来解析请求的 URL:
const url = require('url');
const server = http.createServer((req, res) => {
const { pathname } = url.parse(req.url);
// 处理请求
});
现在,我们可以根据解析的 URL 路径来发送不同的响应了。比如,如果请求的 URL 路径是 /hello
,我们可以发送一个简单的文本响应:
const server = http.createServer((req, res) => {
const { pathname } = url.parse(req.url);
if (pathname === '/hello') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, World!\n');
} else {
res.writeHead(404);
res.end();
}
});
现在,我们编写的服务器可以接受并处理 HTTP 请求了。我们可以保存代码文件,然后在命令行中运行以下命令来启动服务器:
node server.js
然后,在浏览器中访问 http://localhost:3000/hello
,你应该能够看到一个简单的 "Hello, World!" 文本响应。
在本文中,我们介绍了如何编写一个简单的 HTTP 服务器,用 Node.js 实现。我们学习了如何解析 HTTP 请求的内容,并根据其内容发送相应的响应。
完整的代码示例:
const http = require('http');
const url = require('url');
const server = http.createServer((req, res) => {
const { pathname } = url.parse(req.url);
if (pathname === '/hello') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, World!\n');
} else {
res.writeHead(404);
res.end();
}
});
server.listen(3000, () => {
console.log('Server started on port 3000');
});
高亮代码片段:
const http = require('http');
const url = require('url');
const server = http.createServer((req, res) => {
const { pathname } = url.parse(req.url);
if (pathname === '/hello') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, World!\n');
} else {
res.writeHead(404);
res.end();
}
});
server.listen(3000, () => {
console.log('Server started on port 3000');
});