use a CDN such as Amazon S3 to serve all static files (ie. images, js, css)
the goal...
- decrease server load
- decrease bandwidth
- decrease cost
- decrease page display time
you can cname your domain to point to your amazon s3 server account (url)
-- Make sure that the domain you use is not the same as the domain you use for your site ... you don't want them to be the same because your cookies will be associated with each static file (some cookies can be as long as 1k which will increase your time)
for example, your site domain is
domain.com ; you should purchase
domain-file.info to serve your static files (as long as it's a different domain your ok)
you can then create the following sub-domains:
- js.domain-file.info to serve javascript files
- css.domain-file.info to serve stylesheets
- img.domain-file.info to serve all images
- icons.domain-file.info to serve icons if you have a large amount of icons
- You also want to make sure that you add EXPIRES header so that the static files are cached - saving you bandwidth and decreasing overall page display time
I use
Bucket Explorer for uploading static files to my amazon s3 account.
-----------
To further decrease page display time, I recommend compressing (gzip) your js and css files. You will then have to create a plugin to show gzip version if browser is capable of displaying if not show the uncompressed version. Most modern browsers are capable of displaying compressed files. However, IE6 is known to have some issues even the SP2 which was reported to have this fixed is still buggy.
http://www.browserscope.org/ will give you an idea of how a browser functions .. knowing this can help you speed up your pages
other things you can do to speed up your pages...
- get rid of tables or use them less frequently; have small tables not large
- remove javascript
- combine javascript (decrease http request)
- combine css (decrease http request)
- combine images using sprites (decrease http request)
- use less javascript - javascript blocks everything from loading (concurrently) until completely loaded ... this is why I highly recommend that css gets loaded prior to any javascript calls