Book Image

Express Web Application Development

By : Hage Yaaapa
Book Image

Express Web Application Development

By: Hage Yaaapa

Overview of this book

Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. It provides a thin layer of features fundamental to any web application, without obscuring features that developers know and love in node.js. "Express Web Application Development" is a comprehensive guide for those looking to learn how to use the Express web framework for web application development. Starting with the initial setup of the Express web framework, "Express Web Application Development" helps you to understand the fundamentals of the framework. By the end of "Express Web Application Development", you will have acquired enough knowledge and skills to create production-ready Express apps. All of this is made possible by the incremental introduction of more advanced topics, starting from the very essentials. On the way to mastering Express for application development, we teach you the more advanced topics such as routes, views, middleware, forms, sessions, cookies and various other aspects of configuring an Express application. Jade; the recommended HTML template engine, and Stylus; the CSS pre-processor for Express, are covered in detail. Last, but definitely not least, Express Web Application Development also covers practices and setups that are required to make Express apps production-ready.
Table of Contents (15 chapters)
Express Web Application Development
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using a reverse proxy


Express is capable of performing everything that is expected of a modern web server, such as logging requests, HTTPS, serving files and so on, but it is best used as an application server behind a reverse proxy. That way, Express can focus solely on processing dynamic requests, while other tasks can be offloaded to the reverse proxy, thereby increasing the performance of the app.

It is a standard practice in the industry to put a front-facing proxy (another name for reverse proxy) in front of a series of application servers to load-balance and scale the app.

The following illustration shows how an application server works with a reverse proxy to serve a website. In a load-balanced setup, there would be more upstream application servers:

Here are some of the tasks that can be performed by Express, but are best handled by the reverse proxy:

Task

Description

Logging requests and errors

Keeping track of requests made to the server and HTTP errors generated.

Serving static...