Compressed data is a simple and very effective way to improve web site usability. See some statistics here for example.
Compress filter from JSOS solves this task for Java web applications. The latest version supports also both client-side and server-side cache. So you can for example compress some big file only once and serve all the sub-sequential requests right from the cache.