Description
Course info
Rating
(294)
Level
Intermediate
Updated
Aug 8, 2011
Duration
2h 51m
Description

Modern web pages require browsers to download upwards of 100 files (CSS, JavaScript, Images) for each page request. Most of the time spent on these pages is due to these components, not the time it takes to execute server side web pages. This course will focus primarily on how to use techniques to reduce the number of files that must be requested, the size of the files, and how often the files need to be requested to increase performance. Proper application of these techniques can greatly decrease the time needed to view a web page, while also reducing bandwidth and load on the web servers.

About the author
About the author

Robert is a Microsoft MVP, a Progress Developer Expert (Fiddler), and a 3rd degree black belt in Tae Kwon Do. He regularly speaks at national and international events.

More from the author
Responsive Web Images
Beginner
1h 55m
Jun 27, 2016
Useful jQuery Plugins
Intermediate
3h 6m
Jan 17, 2014
More courses by Robert Boedigheimer
Section Introduction Transcripts
Section Introduction Transcripts

Introduction
Hi, my name is Robert Boedigheimer. Welcome to Pluralsight's course on Web Performance. In this module we're going to start by focusing on: what makes websites slow? We're going to study the conversation between a web browser and server using the HTTP Protocol. We're going to review Saving and Making Money with Better Performance. And lastly we're going to look at the major Performance Rules that are going to help guide how we're going to improve performance for our websites.

Infrastructure Performance
In this module we're going to focus on infrastructure performance, which includes things such as IIS settings and other network configurations. One of the topics will be HTTP Compression, which is the ability for the browser to specify to the server that it understands how to handle compressed content, so the server can zip it up before it sends it to the client. Another setting is called Content Expirations, which really has to do with leveraging the customer's browser cache, so that they don't have to make requests all the way back to the origin web server. Another one is Content Distribution Networks, which are networks that provide the ability to offload files from your own web server, and they have locations which are much closer to customers. ETags is another variation on Content Expirations and we'll talk about how to configure those. And we're also going to look at -- there are a lot of unnecessary HTTP Headers that are sent back from ASP. NET and IIS in a standard response for all the files that it serves -- so we're going to look at how that can be turned off.

Frontend Performance
In this module we're going to focus on frontend performance techniques. We're going to look at why it's critical to use External CSS and JavaScript files, so not embedding local styles, local JavaScript, how that plays in from a performance standpoint. We're going to look at CSS and JavaScript minification and consolidation. So we saw previously how we can minify CSS and JavaScript by removing whitespace and other techniques, and how we can take multiple CSS style sheets and put them in a single file, and the same for our JavaScript file. And again how that plays into our let's send as little data as possible, and also reduce how many HTTP requests we need to make. We'll also look at image optimization. A large portion of today's websites are actually due to images, as far as size, and there's a lot of easy techniques to apply from an image standpoint to make them smaller, so again we can send less data to the client. We'll also look at CSS Sprites, which is a technique to reduce the number of HTTP requests by combining multiple images into a single image, and using CSS to effectively index into that larger image to pull out the smaller image that's needed. And lastly we'll review the use of Favicon. ico Caching. If your familiar with -- browsers will come and look for a file Favicon. ico in your root folder -- we'll show how you can set this up so that you can actually take advantage of caching.

Miscellaneous Performance
In this final module we'll be covering a few server-side coding techniques, and some other miscellaneous performance enhancements. The first area we'll look at is Data and Output Caching, so this is a server-side coding technique. I decided to include it because it can make a substantial difference from both a scalability and a performance standpoint. We'll look a little at how AJAX can be used to improve performance of pages. For the Web Forms specific ASP. NET sites we'll talk about the use of server side Viewstate. I'll spend a little time looking at the Performance Analysis Tools YSlow and Google PageSpeed. And lastly we'll look at how we can use multiple domains for static resources so we can use more parallel back connections between the browsers and the web servers.