1 - Minimize HTTP-requests:
-In the HTTP request environment
On accessing a page by a user most of the page load time gets spent on uploading a variety of page components: HTML structure of the page, JS scripts, CSS, images, flash, etc.
Given the number of components is being reduced, HTTP-requests quantity gets decreased several-fold, thus the former will strongly factor into speeding up the page load time.
The presented calculation is quite simple: 10 JS-files = 10 HTTP , 1 JS-file = 1 request - on the assumtion that the majority of browsers postpone uploading the page until the moment each JS file has been loaded and processed.
Using СSS-sprites helps decrease the number of instances of the background image retrieval.
2 - Using compression:
Gzip seems to be a most popular method of compression.
4 - Improving the way styles and scripts are included into a document:
Metatags and <title> should go first in <head> tag of page to be followed by stylesheets. It explains why many browsers, Internet Explorer included, block rendering routine to avoid redrawing the elements after their styles have changed. The user is being stuck viewing a blank white page until styles have been downloaded.
Write JS scripts after all <head> elements. The problem with the scripts is that they block parallel downloads. The HTTP/1.1 specification suggests that browsers can download no more that two components in parallel per hostname. While the script is being downloaded, the browser won't start any other downloads, even on different hostnames. That's the reason for moving as many scripts as possible to the bottom of the page.
5 - Avoiding CSS Expressions:
CSS expressions are a powerful and risky way of setting CSS properties dinamically, and they are supported in Internet Explorer versions 5 through 7. The problem with expressions is that they are evaluated more frequently than most people would expect. Not only they are evaluated when the page is rendered and resized, but also when the page is scrolled and even when the user moves the mouse across the page. Adding a counter to the CSS expression allows keeping track of when and how often CSS expression is evaluated. Moving the mouse around the page can easily generate more than 10,000 evaluations, hence if you still need to use CSS expression, remember that it affects productivity of your page.
7 - Removing duplicate scripts: