In this article, we will walk you through the process of building an HTTP server using Node.js. This HTTP server will serve as a basic “Hello World” application using the Node.js introductory code.
const http = require('http')
const hostname = 'localhost'
const port = 3000
const server = http.createServer((req, res) => {
res.statusCode = 200
res.setHeader('Content-Type', 'text/plain')
res.end('Hello World\n')
})
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`)
})
Now, let’s analyze the code step by step. First, we include the http
module, which is required to create an HTTP server.
The server is created by invoking the createServer
method provided by the http
module. We pass a callback function as an argument, which will be executed for every incoming request. This function receives two objects: a request object (http.IncomingMessage
) and a response object (http.ServerResponse
). These objects provide access to request details, such as headers and data, and allow us to respond to the client.
Inside the callback function, we set the status code of the response to 200 using res.statusCode = 200
to indicate a successful response.
Next, we set the Content-Type
header of the response using res.setHeader('Content-Type', 'text/plain')
. In this case, we’re setting it to plain text.
Finally, we close the response and send the content to the client using res.end('Hello World\n')
.
By running this code, the server will start listening on the specified hostname (localhost
) and port (3000
). You will see a console log message indicating that the server is running.
That’s it! You have successfully built a basic HTTP server using Node.js. Feel free to explore more advanced functionalities and build more complex applications using the http
module.