
High Performance Web Sites
by Souders, Steve-
This Item Qualifies for Free Shipping!*
*Excludes marketplace orders.
Buy New
Rent Book
Rent Digital
Used Book
We're Sorry
Sold Out
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Author Biography
Steve Souders works at Google on web performance and open source initiatives. His books High Performance Web Sites and Even Faster Web Sites explain his best practices for performance along with the research and real-world results behind them. Steve is the creator of YSlow, the performance analysis extension to Firebug with more than 1 million downloads. He serves as co-chair of Velocity, the web performance and operations conference sponsored by O'Reilly. Steve taught CS193H: High Performance Web Sites at Stanford, and he frequently speaks at such conferences as OSCON, Rich Web Experience, Web 2.0 Expo, and The Ajax Experience.
Steve previously worked at Yahoo! as the Chief Performance Yahoo!, where he blogged about web performance on Yahoo! Developer Network. He was named a Yahoo! Superstar. Steve worked on many of the platforms and products within the company, including running the development team for My Yahoo!. Prior to Yahoo! Steve worked at several small to mid-sized startups including two companies he co-founded, Helix Systems and CoolSync. He also worked at General Magic, WhoWhere?, and Lycos.
Table of Contents
Foreword | p. xi |
Preface | p. xiii |
The Importance of Frontend Performance | p. 1 |
Tracking Web Page Performance | p. 1 |
Where Does the Time Go? | p. 3 |
The Performance Golden Rule | p. 4 |
HTTP Overview | p. 6 |
Compression | p. 7 |
Conditional GET Requests | p. 7 |
Expires | p. 8 |
Keep-Alive | p. 8 |
There's More | p. 9 |
Rule 1: Make Fewer HTTP Requests | p. 10 |
Image Maps | p. 10 |
CSS Sprites | p. 11 |
Inline Images | p. 13 |
Combined Scripts and Stylesheets | p. 15 |
Conclusion | p. 16 |
Rule 2: Use a Content Delivery Network | p. 18 |
Content Delivery Networks | p. 19 |
The Savings | p. 20 |
Rule 3: Add an Expires Header | p. 22 |
Expires Header | p. 22 |
Max-Age and mod_expires | p. 23 |
Empty Cache vs. Primed Cache | p. 24 |
More Than Just Images | p. 25 |
Revving Filenames | p. 27 |
Examples | p. 28 |
Rule 4: Gzip Components | p. 29 |
How Compression Works | p. 29 |
What to Compress | p. 30 |
The Savings | p. 31 |
Configuration | p. 31 |
Proxy Caching | p. 33 |
Edge Cases | p. 34 |
Gzip in Action | p. 35 |
Rule 5: Put Stylesheets at the Top | p. 37 |
Progressive Rendering | p. 37 |
Sleep.cgi | p. 38 |
Blank White Screen | p. 39 |
Flash of Unstyled Content | p. 43 |
What's a Frontend Engineer to Do? | p. 43 |
Rule 6: Put Scripts at the Bottom | p. 45 |
Problems with Scripts | p. 45 |
Parallel Downloads | p. 46 |
Scripts Block Downloads | p. 48 |
Worst Case: Scripts at the Top | p. 49 |
Best Case: Scripts at the Bottom | p. 49 |
Putting It in Perspective | p. 50 |
Rule 7: Avoid CSS Expressions | p. 51 |
Updating Expressions | p. 52 |
Working Around the Problem | p. 52 |
Conclusion | p. 54 |
Rule 8: Make JavaScript and CSS External | p. 55 |
Inline vs. External | p. 55 |
Typical Results in the Field | p. 58 |
Home Pages | p. 58 |
The Best of Both Worlds | p. 59 |
Rule 9: Reduce DNS Lookups | p. 63 |
DNS Caching and TTLs | p. 63 |
The Browser's Perspective | p. 66 |
Reducing DNS Lookups | p. 68 |
Rule 10: Minify JavaScript | p. 69 |
Minification | p. 69 |
Obfuscation | p. 70 |
The Savings | p. 70 |
Examples | p. 72 |
Icing on the Cake | p. 73 |
Rule 11: Avoid Redirects | p. 76 |
Types of Redirects | p. 76 |
How Redirects Hurt Performance | p. 77 |
Alternatives to Redirects | p. 79 |
Rule 12: Remove Duplicate Scripts | p. 85 |
Duplicate Scripts-They Happen | p. 85 |
Duplicate Scripts Hurt Performance | p. 86 |
Avoiding Duplicate Scripts | p. 87 |
Rule 13: Configure ETags | p. 89 |
What's an ETag? | p. 89 |
The Problem with ETags | p. 91 |
ETags: Use 'Em or Lose 'Em | p. 93 |
ETags in the Real World | p. 94 |
Rule 14: Make Ajax Cacheable | p. 96 |
Web 2.0, DHTML, and Ajax | p. 96 |
Asynchronous = Instantaneous? | p. 98 |
Optimizing Ajax Requests | p. 99 |
Caching Ajax in the Real World | p. 99 |
Deconstructing 10 Top Sites | p. 103 |
Page Weight, Response Time, YSlow Grade | p. 103 |
How the Tests Were Done | p. 105 |
Amazon | p. 107 |
AOL | p. 110 |
CNN | p. 114 |
eBay | p. 116 |
p. 120 | |
MSN | p. 123 |
MySpace | p. 127 |
Wikipedia | p. 130 |
Yahoo! | p. 132 |
YouTube | p. 135 |
Index | p. 139 |
Table of Contents provided by Ingram. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.