Beginner Node.js Interview QuestionsBeginnerPractical
Node.js · Question 27
How do you create a simple HTTP server in Node.js?
Direct answer
Call http.createServer(handler).listen(port) — the handler receives req and res for each request; set status and headers with writeHead, send body with end(), and keep the handler non-blocking.
Minimal server checklist
- Create server — http.createServer or http.Server with addListener('request').
- Route by method + url — if (req.method === 'GET' && req.url === '/health').
- Respond — writeHead(status, headers); res.end(body).
- Listen — server.listen(PORT, callback); bind 0.0.0.0 in Docker.
simple-server.mjs
import http from "node:http";
const PORT = Number(process.env.PORT) || 4000;
const server = http.createServer(async (req, res) => {
if (req.url === "/" && req.method === "GET") {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("AceDevHub API shell\n");
return;
}
res.writeHead(405, { "Allow": "GET" });
res.end("Method Not Allowed");
});
server.listen(PORT, () => {
console.log(`Listening on http://localhost:${PORT}`);
});