High Performance Web Sites
Essential Knowledge for Front-End Engineers
By
Steve Souders
September 2007
Pages: 168
| Table of Contents
| Index
| Sample Chapter
| Forum
| Colophon
Table of Contents
-
Chapter 1 The Importance of Frontend Performance
-
Tracking Web Page Performance
-
Where Does the Time Go?
-
The Performance Golden Rule
-
Chapter 2 HTTP Overview
-
Compression
-
Conditional GET Requests
-
Expires
-
Keep-Alive
-
There's More
-
Chapter 3 Rule 1: Make Fewer HTTP Requests
-
Image Maps
-
CSS Sprites
-
Inline Images
-
Combined Scripts and Stylesheets
-
Conclusion
-
Chapter 4 Rule 2: Use a Content Delivery Network
-
Content Delivery Networks
-
The Savings
-
Chapter 5 Rule 3: Add an Expires Header
-
Expires Header
-
Max-Age and mod_expires
-
Empty Cache vs. Primed Cache
-
More Than Just Images
-
Revving Filenames
-
Examples
-
Chapter 6 Rule 4: Gzip Components
-
How Compression Works
-
What to Compress
-
The Savings
-
Configuration
-
Proxy Caching
-
Edge Cases
-
Gzip in Action
-
Chapter 7 Rule 5: Put Stylesheets at the Top
-
Progressive Rendering
-
sleep.cgi
-
Blank White Screen
-
Flash of Unstyled Content
-
What's a Frontend Engineer to Do?
-
Chapter 8 Rule 6: Put Scripts at the Bottom
-
Problems with Scripts
-
Parallel Downloads
-
Scripts Block Downloads
-
Worst Case: Scripts at the Top
-
Best Case: Scripts at the Bottom
-
Putting It in Perspective
-
Chapter 9 Rule 7: Avoid CSS Expressions
-
Updating Expressions
-
Working Around the Problem
-
Conclusion
-
Chapter 10 Rule 8: Make JavaScript and CSS External
-
Inline vs. External
-
Typical Results in the Field
-
Home Pages
-
The Best of Both Worlds
-
Chapter 11 Rule 9: Reduce DNS Lookups
-
DNS Caching and TTLs
-
The Browser's Perspective
-
Reducing DNS Lookups
-
Chapter 12 Rule 10: Minify JavaScript
-
Minification
-
Obfuscation
-
The Savings
-
Examples
-
Icing on the Cake
-
Chapter 13 Rule 11: Avoid Redirects
-
Types of Redirects
-
How Redirects Hurt Performance
-
Alternatives to Redirects
-
Chapter 14 Rule 12: Remove Duplicate Scripts
-
Duplicate Scripts—They Happen
-
Duplicate Scripts Hurt Performance
-
Avoiding Duplicate Scripts
-
Chapter 15 Rule 13: Configure ETags
-
What's an ETag?
-
The Problem with ETags
-
ETags: Use 'Em or Lose 'Em
-
ETags in the Real World
-
Chapter 16 Rule 14: Make Ajax Cacheable
-
Web 2.0, DHTML, and Ajax
-
Asynchronous = Instantaneous?
-
Optimizing Ajax Requests
-
Caching Ajax in the Real World
-
Chapter 17 Deconstructing 10 Top Sites
-
Page Weight, Response Time, YSlow Grade
-
How the Tests Were Done
-
Amazon
-
AOL
-
CNN
-
eBay
-
Google
-
MSN
-
MySpace
-
Wikipedia
-
Yahoo!
-
YouTube
-
Colophon
Return to High Performance Web Sites