In this chapter of Mastering Spring MVC 4, we will implement classic ways of optimizing a web application: cache control headers and Gzipping.

We will also use Spring’s cache abstraction and ETags.

More threads, please

You will learn how to create asynchronous services with Spring Async.

Spring Async is a nice part of Spring, if you want to dig deeper see [this article]({% post_url 2015-06-12-completable-futures-with-spring-async %}) where we use Java 8 CompletableFutures to create a multithreaded application.

Websockets

To finish, we will enter the reactive stuff and learn how to use websockets with sockjs.

I hope you will find the content of this chapter interesting, let me know your thoughts in the comments!