What Web Server Does Express Js Use?


Angela Bailey

The Express.js framework is widely used for building web applications in Node.js. It provides a robust set of features to handle routing, middleware, and server-side logic. But have you ever wondered which web server it uses to handle incoming requests and serve responses?

The answer is Node.js’ built-in HTTP module.

When you create an Express application, you are essentially creating an instance of the Node.js HTTP server class. This class allows you to handle HTTP requests and responses directly from your code.

Let’s take a closer look at how Express uses the Node.js HTTP module:

Creating an Express Application

To create an Express application, you need to install the Express package first. You can do this by running the following command in your terminal:

$ npm install express

Once installed, you can import the Express module into your code:

const express = require('express');

With the Express module imported, you can create an instance of the application:

const app = express();

The Role of the HTTP Module

The HTTP module in Node.js provides functionalities for creating a web server. It allows you to listen for incoming HTTP requests and send back responses.

In the case of an Express application, when you call app.listen(), behind the scenes, it creates an instance of the Node.js HTTP server:

// Starts listening on port 3000

Serving Requests with the HTTP Server

When an HTTP request arrives at your Express application, the Node.js HTTP server handles it by invoking the relevant middleware and route handlers you have defined.

The HTTP server parses the incoming request, extracts information such as the request method, URL, headers, and payload. It then passes this information to the appropriate Express middleware and route handlers for processing.

Once the middleware and route handlers have finished processing the request, they generate an appropriate response. The HTTP server takes this response and sends it back to the client that made the initial request.


In conclusion, Express.js uses Node.js’ built-in HTTP module to handle incoming requests and serve responses. The HTTP module provides a solid foundation for creating web servers in Node.js, and Express builds upon it to provide a convenient framework for building web applications.

If you’re new to Express.js or web development in general, understanding how it uses the underlying HTTP module can help you better grasp how your application handles requests and responses.

So now you know – when you’re building an Express application, it’s ultimately using Node.js’ built-in HTTP module to power your web server!

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy