HTTP compression provides faster transmission time between compression-enabled browsers and IIS. You can either compress static files alone, or both static files and applications. If your network bandwidth is restricted, you should consider HTTP compression, at least for static files, unless your processor utilization is already extremely high.
When IIS receives a request, it checks to see if the browser is compression-enabled. IIS then checks the file name extension to see if the requested file is a static file or contains dynamic content. If the file contains static content, IIS checks to see if the file has previously been requested and is already stored in a compressed format in the temporary compression directory. If the file is not stored in a compressed format, IIS sends the uncompressed file to the browser, and adds a compressed copy of the file to the temporary compression directory. If the file is stored in a compressed format, IIS sends the compressed file to the browser. No files are compressed until they have been requested once by a browser.
If the file contains dynamic content, IIS compresses the file as it is generated and sends the compressed file to the browser. No copy of the file is stored.