Monday , April 15 2024
A useful book for every web developer, whether you are running a small or large-scale site.

Book Review: High Performance Web Sites by Steve Souders; Foreword by Nate Koechley

The front end engineer for a website holds in their hands a tremendous amount of power with regard to end users' experience of your site. They are the last line of defense and the decisions they make directly shape the experience that the user takes with them about your site, and ultimately, your product.

The goal of High Performance Web Sites is to make that experience a positive one, ;another goal is to change your approach to performance optimization. Steve Souders is the Chief Performance Yahoo!, where he specializes in making websites go faster.

High Performance Web Sites covers 146 pages in 15 chapters and two prependixes; these would be appendixes if they were at the back, but instead they come before the chapters.

Prependix A, "The Importance of Frontend Performance" describes the fact that 80 percent of the time of downloading a page is spent on the components on the page. Here is described tracking web performance and why focusing on the frontend is so important. Prependix B, "HTTP Overview" explains the parts of HTTP that are relevant to performance, as well as giving a short description of how HTTP works.

Chapter 1, "Make fewer HTTP Requests," shows that because every time the user requests a HTML document, they are requesting the components as well; one thing that can be done is to make fewer requests. Chapter 2, "Use a Content Delivery Network," explains that if you want to improve the time for the components to load, it is better to disperse the component web servers first.

Chapter 3, "Add an Expires Header," shows that by adding a future "expires" header, you can make those slow loading components cacheable. This will avoid unnecessary HTTP requests on subsequent page views. Chapter 4, "Gzip Components," explores the fact that by reducing the size of a page request, you can reduce the load time of the request. By using gzip encoding to compress the HTTP requests, you reduce the page weight, and hence, reduce the time factor.

Chapter 5, "Put Stylesheets at the Top," demonstrates that, because the page load is progressive; that is, what is delivered first is rendered first, you want the style sheet loaded at the top to allow the rest of the page to render as it loads. Chapter 6, "Put Scripts at the Bottom," shows that for the same reason of progressive rendering, you want to put the JavaScript at the bottom of the page so it executes after the page is rendered.

Chapter 7, "Avoid CSS Expressions," and instead, by using one-time expressions and event handlers, you can avoid the performance problems associated with CSS Expressions. Chapter 8, "Make JavaScript and CSS External," shows that because HTML documents with dynamic content are not always cached by the browser and JavaScript and CSS is, when you load them separate from the HTMP, your overall load times will increase.

Chapter 9, "Reduce DNS Lookups," explains how DNS (Domain Name System) works from your browser's perspective and how you can reduce the amount of time your pages spend doing DNS lookups. Chapter 10, "Minify JavaScript," is the practice of removing unnecessary characters from the code to reduce its size, and therefore its load time.

Chapter 11, "Avoid Redirects," examines the different kinds of redirects there are, and, how by reducing and/or removing them, you can speed up your page load times. Chapter 12, "Remove Duplicate Scripts," can increase load time. There are a number of reasons, duplication of scripts can happen. These need to be eliminated because duplication of scripts will slow down the load times.

Chapter 13, "Configure ETags," explains that the ETag (entity tags) headers thwart caching when a website is hosted on more than one server. In this chapter ETags are explained as is how they can be configured. Chapter 14, "Make Ajax Cacheable," shows that even though the performance rules in this book pertain to Web 2.0 as well, that this particular rule is really targeted at this new platform. Finally, chapter 15, "Deconstructing 10 Top Sites" examines the top 10 U.S. websites with regard to the rules and tool that are described in High Performance Web Sites.

I found High Performance Web Sites to be very enlightening. Because the author is a performance expert at a large scale company that has to be efficient, makes it all the more beneficial. Each of the 14 techniques is explained in easy to understand terms and they are really basic techniques that any website can benefit from.

High Performance Web Sites is an excellent guide for web developers who are looking to write optimized HTML. It is a useful book for every web developer whether you are running a small or large-scale site. I highly recommend this book for anyone involved in web development.

About T. Michael Testi

Photographer, writer, software engineer, educator, and maker of fine images.

Check Also

Book Review: ‘A Pocketful of Happiness’ by Richard E. Grant

Richard E. Grant details how his wife, Joan Washington, lived her final months and inspired him to find a pocketful of happiness in each day.