I'm using YSlow for firefox and I understand it tells me what I need to do, but I don't understand how. So my questions are..

1. How do I use a CDN? (Content Delivery Network)
2. How do I add an Expire Header?
3. How to GZip components?
4. How to configure Etags?

Alot of this (or all) seems to do with cacheing..I dont know much about it, but I remember Drupal had a section for this when I used it buut I'm currently using FrogCMS which doesnt to my knowledge.