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
About the Author
About the Reviewers

HTTP response in Express

Now that we have covered the basics of HTTP response in general, let's find out if it works in Express.

By now, we already know how a simple HTTP response can be generated in Express—by setting up a route and a handler for it:

app.get('/', function(req, res) {

Let's examine the response for this response.


Express can send an HTTP response using one of its response methods: res.send(), res.json(), res.jsonp(), res.sendfile(),, res.render(), or res.redirect(). If none of them is called, the request will be left hanging till the connection times out.

If more than one response methods are specified in a route handler, only the first method will take effect, the rest will generate non-fatal, run-time errors.

Start the app, load the homepage, and look at the response headers using a browser-debugging tool:

HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 7
Date: Sat, 09 Mar 2013 15:55:24...