In general, one or more programs that are designed to carry out operations for a specific purpose. In the context of Express, a program that uses the Express API running on the Node.js platform. Might also refer to an app object.


Application programming interface. Spell out the abbreviation when it is first used.


A fast, un-opinionated, minimalist web framework for Node.js applications. In general, “Express” is preferred to “Express.js,” though the latter is acceptable.


A multi-platform support library which focuses on asynchronous I/O, primarily developed for use by Node.js.


A function that is invoked by the Express routing layer before the final request handler, and thus sits in the middle between a raw request and the final intended route. A few fine points of terminology around middleware:


A software platform that is used to build scalable network applications. Node.js uses JavaScript as its scripting language, and achieves high throughput via non-blocking I/O and a single-threaded event loop. See Usage note: Initially, “Node.js,” thereafter “Node”.

open-source, open source

When used as an adjective, hyphenate; for example: “This is open-source software.” See Open-source software on Wikipedia. Note: Although it is common not to hyphenate this term, we are using the standard English rules for hyphenating a compound adjective.


An HTTP request. A client submits an HTTP request message to a server, which returns a response. The request must use one of several request methods such as GET, POST, and so on.


An HTTP response. A server returns an HTTP response message to the client. The response contains completion status information about the request and might also contain requested content in its message body.


Part of a URL that identifies a resource. For example, in, “/products/id” is the route.


See router in the API reference.